V tomto článku by som Vám chcel predstaviť svoju diplomovú prácu, na ktorej som pred týždňom konečne začal pracovať. Jej názov je Dynamická referenčná dokumentácia .NET aplikácií a v skratke sa Vám pokúsim vysvetliť, čo sa za týmto terminus technikus skrýva.
Tí, ktorí už s .NET frameworkom nejaký čas robia, iste poznajú dokumentácie štýlu MSDN, chm súbory, či obyčajné HTML dokumentácie. Nástrojov na ich generovanie je naozaj dosť, či už tých platených ( VSdocman, Doc-O-Matic, .. ), ako aj bezplatných a open source projektov ( NDoc, Sandcastle,.. ). No všetky tieto ako aj mnohé iné umožňujú maximálne vygenerovanie dokumentácie a tým to končí. A tu prichádzam na rad ja a slovo dynamická . 
Požiadavky na môj generátor referenčnej dokumentácie vyplývajúce z môjho zadania sú:
Na základe analýzy implementovať systém umožňujúci:
- Generovanie dokumentácie na základe zdrojového kódu a poznámok
- Možnosť úpravy a rozširovania vygenerovanej dokumentácie
- Podpora pre spätnú synchronizáciu
- Podpora pre správu histórie zmien dokumentácie.
- Exporty dokumentácie do štandardných tlačových formátov
Na základe tohto zadania som začal analyzovať, študovať a premýšľať ako implementovať tieto požiadavky tak, aby bol výsledok mojej práce nie len plne funkčný, ale aj zmysluplný a využiteľný v praxi. Nakoniec som prišiel s takýmto návrhom:
Aplikácia bude implementovaná ako plugin do vývojárskeho nástroja Visual studio 2010. Po spustení pluginu sa načíta aktuálne solution a s využitím knižnice CodeDOM zostaví objektový model obsahujúci komentáre tried, metód, vlastností, rozhraní a pod. Následne bude možné na základe tohto objektového modelu naplniť databázu inštalácie Screw Turn Wiki. V tejto wiki sa budú môcť registrovaný užívatelia prihlásiť a meniť obsah dokumentácie. Budú môcť pridávať popisy, názvy parametrov, návratové hodnoty a pod. Okrem toho sa budú dať pridávať aj iné informácie ako napr. obrázky, súbory a pod., čo ostatné generátory referenčných dokumentácií nepodporujú. Po úprave dokumentácie prostredníctvom webového rozhrania bude v tomto plugine možné spätne synchronizovať upravenú dokumentáciu a premietnuť tak zmenené popisy, názvy parametrov, návratových hodnôt a iných komentárov naspäť do zdrojového kódu. Ďalšia funkcionalita, ktorú ostatné generátory nemajú bude vygenerovanie prázdnych alebo predvolene vyplnených komentárov. Samozrejmosťou bude aj exportovanie do tradičných formátov (MSDN, chm, HTML,..).
Osobne si myslím, že takýto generátor referenčnej dokumentácie by mohol nájsť uplatnenie najmä pri vývoji a správe open source projektov, kde je požiadavka na multi-užívateľnosť a správu verzií dokumentácie nevyhnutnosťou. Tak mi držte palce, nech to dotiahnem do úspešného konca. 
Poslať nový komentár