Kaos projektide struktuuris

06.11.2007  |  Marek

“Korrastamatusel on tendents iseenesest kasvada. Korrastatusel on tendents iseenesest kahaneda.” (Lorents, 2006, lk 36). Termodünaamika teine printsiip viitab, et projektides on suur tõenäosus struktuuri kahanemisele. Ainuke võimalus seda ohjas hoida on pidevalt panustada enda energiat sinna. Kasulik on alustada võimalikult hea struktuuriga, sest hilisemad muudatused võivad muutuda õudusunenägudeks. Siinkohal üritangi ühe võimaliku alusstruktuuri välja pakkuda .NET projektide jaoks.

Visual Studio’s .NET-i peamine struktuur on järgnev:

  • Solution
    • Project 1
      • Bin
        • Release
        • Debug
    • Project 2

Siiski tundub, et mõned vajalikud struktuurielemendid on unustatud.

  • Solution
    • Config
    • Build
      • Bin
      • Dic
      • Tests
      • Results
      • Deploy
    • Schema
    • External libraries
    • Documents
    • Project 1
    • Project 1 Tests
    • Project 2

Üks kasulikumaid katalooge on siin External libraries. Kui jätta lisamata välised raamistikud, siis võib tekkida suuri probleeme uute versioonidega. Peale selle on tülikas ka igal projektis osalejal pidevalt neid raamistikke otsida ja alla laadida, et saaks tööd rahulikult jätkata. Mõistlik on lisada need ka koodihoidlasse, sest siis saab igaüks need kenasti kätte.

Kataloog Config hoolitseb kenasti lahenduse seadistuste üle. Sinna on mõistlik lisada build scriptid ja seadistused.
Build genereeritakse build scriptide kaudu. Sinna peaksid kogunema kõikide projektide kompileeritud kood, testid (komponendi-, süsteemi-, vastuvõtutestid), lähtekoodist genereeritud dokumentatsioon ja analüüside tulemused. Hea tava on ka komplekteerida evituspakett valmis.

Schema alla peaksid minema andmebaasi loomise, kustutamise skriptid ja test andmed. Nende olemasolu koodihoidlas on kasulik pideva integratsiooni (continuous integration) jaoks, kui ka andmebaasi muudatuste tegemise osas. Siia alla võib veel lisada andmebaasi protseduuride ja funktsioonide testid.

Kõiksugused projektis vajalikud dokumendid võiksid kokku koonduda Documents kataloogi.

See struktuur peaks hoidma suuremate probleemide eest mõningase aja. Kuna projektid on erinevad, siis võib iga tekkida palju variatsioone, mille koondamisel peaks järgmise pikemaajalisema baasstruktuuri luua saama. Kui kellelgi on häid soovitusi, mida veel juurde lisada, siis andke kenasti kommentaaridega märku.

Viited

Lorents, P. (2006). Süsteemide maailm. Tartu: Tartu Ülikooli Kirjastus.

Kommenteeri

sulge
Saada link e-postiga

© DT 2013 | Creative Commons Attribution-Noncommercial 3.0 License | WordPress