Tip: Přemýšlejte, pak pište

Tento krátký článeček patří hlavně pro začínající vývojáře. Zkušenější mi určitě dají za pravdu, že následující scénář (minimálně v jejich vlastních počátcích) také určitě zažili. Například ve škole jste dostali zadání na vytvoření simulace života na zahrádce. Jako „mladý“ (čti nezkušený) programátor jsem se vrhnul s nadšením do tvorby, inu, zadání to bylo opravdu zajímavé a pro mě i celkem obtížné. Pro vysvětlenou zde překládám zadání

Vytvořte konzolovou aplikaci, která bude simulovat život králíků na zahrádce. Při zapnutí aplikace uživatel zvolí velikost zahrádky (např 10×10) a počet samců a samiček. Následně se daný počet králíků náhodně rozmístí po zahrádce. Uživatel poté už jen odklikává chod zahrádky. Při každém odkliknutí se králici náhodným směrem o 1 políčko pohnou. Pokud se potkají samec a samice, náhodně okolo nich se objeví nový králík. Pokud se potkají 2 samci, jeden z nich zahyne. Pokud se potkají 2 samice, nic se neděje.

Pro zkušenější programátora, tj někoho kdo už má něco naprogramováno je to celkem brnkačka. V té době to pro mě osobně nebyla.  Je na místě poznamenat, že v té době jsem měl pouze základy C# a to prakticky tyto oblasti – datové typy, podmínky a cykly. Nic víc, žádné metody, žádné OOP. V té době pro mě class Program apod bylo jen něco nutného, co tam prostě být musí. Každopádně, pustil jsem se do urputného psaní kódu.

Napsal jsem několik desítek řádků kódů, pustil, BUM aplikace spadla. Několik dalších X minut hledal chybu, opravil. Napsal dalších X řádků a takhle stále dokola. Po X hodinách (ano opravdu 🙂 ) to opět nefungovalo. Nakonec smazání celého kódu a psaní znova, znova a znova. Konečně jsem přišel na jednu věc – papír a tužka je nejlepší pomocník.

Před každým psaním aplikace, ať už bude jakkoliv malinká, vezměte tužku a papír a napište si v bodech co má aplikace dělat. Načrtňete si chování aplikace, rozvrhněte si aplikaci na papíře. Co se stane když se potkají samec a samička? No přeci náhodně vygeneruju souřadnici okolo samičky, zkontroluju jestli jsou volné a pokud ano, „položím“ tam nového králika. A přesně takto si rozvrhnout aplikaci. Ze začátků, čím více, tím lépe. Časem se naučíte určité věci opravdu narychlo, z hlavy a bez přemýšlení.

Později zjistíte, že vývoj aplikací je více o návrhu a vymýšlení JAK má aplikace fungovat, jak se bude ovládat apod. než samotným psaním kódu. Psaní kódu už je jen nutná rutina. Alespoň to takto já vidím. Samozřejmě, i samotné psaní kódu je důležité. Programátor musí kódu nejen rozumět, ale měl by ho psát čitelně, přehledně. Měl by používat komentáře a kompletně kód psát co nejčistěji. Dodržovat obecné konvence apod.

Tedy ponaučení z dnešního článku?

Raději hodinu přemýšlejte, než tři hodiny pište kód, který ve finále absolutně nebude fungovat. Časem zjistíte, že vám to ušetří spoustu nervů.

Nakonec přeci jen ještě jedna osobní zkušenost. Programování se věnuju přes 4 roky a zatím jsem se nenaučil pořádně navrhovat. Občas i tak zbytečně píšu a píšu, mažu, opravuju a pak po několika nadávkách se protáhnu, vezmu tužku a papír a nakreslím si to. Poté se mlátím do hlavy že to je přeci tak jednoduché. Zkuste to a uvidíte sami.

Pokud máte nějaké vlastní tipy jak postupovat u programování jednotlivce menších či větších aplikací, podělte se s nimi v komentářích 🙂

 

Napsat komentář

Vaše emailová adresa nebude zveřejněna. Vyžadované informace jsou označeny *

„Muži nedovedou ocenit vlastní ženy. To přenechávají druhým.“ Oscar Wilde