V tomto článku se pokusím učesat myšlenky proč dokumentovat a také jakým způsobem.
Pracoval v několika rozdílných firmách kde jsem vyvíjel software, spolupracoval jsem již s mnoha programátory a myslím, že dokumentování je přidělována malá váha důležitosti. Jen malé procento programátorů dokumentuje. Dokumentace je poměrně hodně zanedbávaná.
Na jedné straně zákazník který interní dokumentaci vidí jako zbytečnou k placení, na druhé straně vývojáři, které dokumentování nebaví. Obecně jsem zjistil, že naprostá většina vývojářů se dokumentování brání jako čert kříži. Sám sebe přistihnu jak píšu kód a dokumentaci opomíjím. Chce to kázeň a hlídat sám sebe.
V tomto článku se vrátím k aplikaci Converter2 a opravím implementaci načítaní XML. Popisoval jsem, že třída Unit implementuje rozhraní ICloneable, abych nemusel v LINQ dotazu načítat seznam jednotek dvakrát.
To jsem ještě neznal klauzuli LET. Její použití celé načítání ještě zjednoduší a zpřehlední, protože implementace celé aplikace zhubne. Nebude již potřeba aby třída Unit implementovala rozhraní ICloneable. Změní se implementace třídy Kind, která měla za úkol v setteru vlastnosti InputUnits zahazovat reference na inputUnits a getter vlastnosti OutputUnits klonoval jednolivé instance třídy Unit do nového listu. Tohle všecho jsem dělal proto, že jsem nechtěl v LINQ dotazu 2x vykonat stejný dotaz jednotky dané skupiny (input a output).
Když modelařím, občas potřebuji konvertovat jednotky z například kubických palců na kubické centimetry. Spalovací motory jsou tak běžně označovány. Například motory do buggy mají označení .21" a to je 3,5ccm. Například na tomto odkazu jsem zveřejnil překlad návodu k motoru "Ofna Picco P2 26 mx", kde číslo 26 je označení objemu v kubických palcích (0.26"). Motor má tedy objem 4.2ccm
Pro účely konverze používám už dlouhou dobu prográmek Convert.exe od Joshe Madisona, který umí konvertovat snad vše na vše.
V rámci samostudia WPF a C# 4.0 jsem narazil na zajímavé téma a to je mapování datových zdrojů. Jenou takovou možností je XML. Napadlo mě, že ve WPF bych takovou úlohu mohl zkusit napsat tak, abych programoval co nejmíň kódu v C#. Dal jsem si tedy za úkol zkusit takovýto konvertovací prográmek napsat. Spíš jeho prototyp. A ozkoušet tak možnosti WPF.
|
|
Jenže jsem si řekl, že takovou aplikaci bych chtěl ještě rozšířit. Tak například bych chtěl aby aplikace získala následující rysy:
Když jsem se v roce 1992 prvně setkal s Amigou 500+, byl jsem unesený ze všeho, co Amiga nabízela. Kdo zažil uvěří. Hry byly super, ale demoscéna, to je pojem. Demoscénu sleduji a kroužím kolem již několik let. Dema vnímám jako prostředek, jak ostatním ukázat, co s daným počítačem dokážu. Dema jsou pasivní aplikace, které nevyžadují uživatelovu interakci. Vizuální a audio část je spolu spojena a navzájem se doprovází. Vhodné načasování pak vytváří dokonalý dojem. Dema vytváří často tvůrčí skupinky, kde je práce rozdělena. Často se pak stává, že grafickou podobu dělá jeden člověk a my pak můžeme ohodnotit, jak pěkně umí grafiku. Jiný programuje 3D engine a my se můžeme kochat pohybem oživlé grafiky a samozřejmě muzikant, který skládá hudbu pro dané demo. Přiznám se, že mým oblýbeným hudebním autorem ve spojení s fenoménem Amiga jsou: Travolta Spaceballs, Laxity, Jogeir Liljedahl.