Åpne Mike Prosjektfiler

Bruker du \ bin, \ lib, \ src? Dette er Open Mike, en rekke diskusjonsposter for å kaste katten blant duene. Disse innleggene handler om deg - vi vil høre dine meninger, ideer og tanker. Dette innlegget, jeg mistenker, vil være polariserende? la oss høre hvordan du organiserer prosjektfiler.

Daniel Apt's Quick Tip viste oss hvordan å organisere våre Flash-prosjekteres filer i forskjellige kataloger. Men det er fortsatt spørsmål om hvor de burde alle gå.


Hvilke filer går der?

Et typisk Flash-prosjekt skal involvere de fleste eller alle disse filtyper:

  • FLA
  • SWC
  • SWF
  • SOM
  • HTML
  • JS
  • JPG, PNG
  • MP3, WAV
  • XML
  • ? og kanskje mer.

Hvordan ordner du mappestrukturen din for å lagre alle disse filene?

(Merk: Noen ganger vil en filtype ikke bestemme sin ideelle plassering, en JPG vil trolig gå i forskjellige mapper, avhengig av om den skal være innebygd i SWF eller dynamisk lastet i driftstid.)


Hva om når du bygger for ulike mål?

Hvordan konfigurerer du mappene dine når du lager forskjellige bygg for forskjellige formål?

For eksempel kan du ha separate "debug" og "deploy" bygger, eller bygger målretting mot forskjellige plattformer eller nettlesere.


Hvor holder du APIer og biblioteker?

Mange opplæringsprogrammer på dette nettstedet bruker TweenMax. Har du en enkelt mappe som inneholder alle APIer og biblioteker du bruker ofte, sett som en global klassepath i din IDE? Eller kopierer du hvert bibliotek til det aktuelle prosjektets mappe?

Sistnevnte virker sløsing, men den førstnevnte har risiko: Hvis du overskriver et bibliotek med en ny versjon, kan det føre til at gammel kode slutter å fungere.


Hvordan strukturerer du klassestiene dine?

Tradisjonelt ble AS3-kursstier strukturert slik at de inneholdt skaperenes domenenavn. For eksempel, hvis du eide http://yourdomain.com/, ville du strukturere klassestien din slik:

\ Com \ dittdomene \ prosjektnavn \ ClassName.as

På denne måten vil pakningsdefinisjonen se slik ut:

pakke com.yourdomain.projectName

? og importoppgaven ville se slik ut:

importer com.yourdomain.projectName.ClassName;

Tanken er at siden du eier domenenavnet ditt, og du har kontroll over hvilke prosjektnavn som brukes, kan du stoppe to forskjellige biblioteker som har samme klassepaner.

Men det blir stadig mer og mer vanlig å se denne konvensjonen avvist til fordel for vilkårlig (og ofte kortere) klasseveier. Er det verdt å ofre korthet for å hindre at to forskjellige klasser har samme pakke?