Tipy a triky z praxe: Ako sa naučiť programovať a vyhnúť sa zbytočným chybám?

Existuje jedno slovenské príslovie, ktoré hovorí, že „mýliť sa je ľudské “. Mnohí z nás si však želajú mýliť sa čo najmenej a čo najviac sa zbytočným chybám vyhnúť. V tomto článku si preto preberieme niektoré z najčastejších chýb, ktoré programátori robia pri učení sa programovacieho jazyka (napríklad Java) a ponúkneme riešenia, ako im predchádzať. Zároveň poskytneme niekoľko užitočných tipov, ktoré ti pomôžu vylepšiť tvoje programovacie schopnosti.

Učenie sa viacerých programovacích jazykov súčasne

Snažiť sa naučiť viacero programovacích jazykov súčasne je hrozný nápad. Budeš sa cítiť zmätený a neustále vracať k častiam, ktoré si si už podrobne naštudoval, že ako to vlastne bolo. Taktiež to bude zlé, ak začneš s jedným jazykom a o pár týždňov prejdeš na iný. Vyberte si jeden jazyk, drž sa ho a zdokonaľuj sa v ňom. Neskôr si môžeš vybrať ďalší jazyk, keď sa naučíš ten prvý, ale vyhni sa skákaniu medzi jazykmi.

Odporúčame ti...

Vyber si programovací jazyk, ktorý sa ti najviac páči a nauč sa ho poriadne. Ďalší z jazykov bude používať mnohé spoločné črty a naučíš sa ho potom o poznanie ľahšie.

Písanie kódu bez predchádzajúcej analýzy

Písať hneď kód bez poriadnej analýzy problému je určite zlý nápad. Nemusíš tak skutočne porozumieť požiadavkám a rozsahu problému, ani nebudeš uvažovať nad ďalšími možnými scenármi. Niekedy riešenie problému, ktoré nám ako prvé napadne nie je optimálne a investovaním trochu viac času do analyzovania problému na začiatku nám môže priniesť úsporu času neskôr pri efektívnejšej implementácií.

Vedel si, že...

Skúsení vývojári, väčšinu času trávia premýšľaním, návrhom a diskusiami o celom projekte a na písanie kódu v skutočnosti využívajú len približne 20 % času?

Nezálohovanie práce

Toto je jedna z najospravedlniteľnejších chýb, ktoré môžeš ako vývojár urobiť, aj keď si začiatočník. Predstav si, že si na projekte pracoval dlhú dobu, vyriešil množstvo komplikovaných problémov, a potom jedného dňa sa pokazí disk a stratíš celú svoju prácu. Určite ťa to poriadne naštve a budeš si želať, aby si si svoje zdrojové súbory predtým uložil.

Odporúčame ti...

Udržuj si pravidelné zálohy svojho kódu. Používaj nástroje pre správu verzií (SVN alebo Git) alebo si svoju prácu pravidelne ukladaj na externé úložisko.

Ignorovanie dokumentácie

Dokumentácia je dôležitou súčasťou každého projektu. Je to spôsob, ako zaznamenať základné informácie o tom, ako tvoj kód funguje, ako ho používať a ako ho iní vývojári môžu spravovať. Ignorovať dokumentáciu je chyba, ktorú by si nemal urobiť.

Odporúčame ti...

Aj keď si práve pamätáš, ako tvoj kód funguje a považuješ spísanie aspoň stručnej dokumentácie za stratu času, za pár mesiacov, keď do kódu budeš musieť niečo zapracovať, už si to pamätať nebudeš. Dokumentácia by pomerne rýchlo občerstvila tvoje spomienky.

Príliš komplikovaný kód

Nemáš za cieľ dokazovať svetu, že ovládaš najzložitejšie funkcie a všetky knižnice, aké ľudstvo kedy vytvorilo. Tvojim hlavným cieľom pri písaní kódu by malo byť riešenie problémov najefektívnejším spôsobom. Ak je tvoj kód jednoduchý, je ľahšie ho napísať, udržiavať a spravovať. Povedzme si to jednoducho – dodržiavaj princíp KISS (Keep It Simple, Stupid – Udržuj to jednoduché) v maximálnej možnej miere.

Odporúčame ti...

Udržuj svoj kód čo najjednoduchší. Vyhni sa prehnanej zložitosti a dodržiavaj princíp KISS.

Opakujúci sa kód

Ak zistíš, že opakuješ kód, porušuješ jedno z najzakladanejších pravidiel softvérového vývoja pre programátorov – DRY (Don’t repeat yourself – Neopakuj sa). Vždy by si sa mal usilovať o dodržiavanie tohto pravidla a písať „čistý kód“. Ak si všimneš, že kopíruješ časti kódu, musíš si uvedomiť, že sa pravdepodobne odchyľuješ od zásady DRY a mal by si sa opraviť. Túto situáciu môžeš častokrát vyriešiť pomocou cyklov a funkcií. Veľmi užitočné môžu byť aj vstavané knižnice (framework/-y).

Odporúčame ti...

Analyzuj svoj kód a identifikuj opakujúce sa vzory. Následne vytvor funkcie alebo metódy, ktoré tento kód zovšeobecnia a umožnia ti ho použiť opakovane.

Pridávanie veľa riadkov do jednej funkcie

Funkciu môžeš použiť na viacero úloh, ale to neznamená, že by si to aj mal robiť. Drž sa princípu jednej zodpovednosti, podľa ktorej by mala funkcia zodpovedať iba za jednu vec. Ak jedna funkcia vykonáva viacero úloh, prakticky si koleduješ o chyby a negatívny vplyv na mnoho ďalších vecí.

Odporúčame ti...

Dobre vystavaný program je ako lego, pozostáva z veľa malých častí (funkcií), ktoré spolu pevne držia a dokopy dávajú peknú stavbu (program).

Nejasné názvy premenných

Premenné sú kritickou súčasťou programovania, bez ohľadu na používaný jazyk. Preto je dôležité vytvárať si dobré návyky pri pomenovaní premenných. Ak používaš všeobecné pojmy, ktoré sú nejasné, môžete si neskôr vytvoriť veľký chaos. Tvoj kód síce môže fungovať správne, ale keď sa neskôr vrátiš a pozrieš sa na svoj kód, môžeš sa stratiť pri pokuse zistiť, čo sa v ňom deje a čo daná premenná predstavuje. Ak pracuješ navyše v tíme, nepochybne sa môžeš pre svoje nešpecifické názvy premenných stať terčom posmechu svojich skúsenejších kolegov.

Odporúčame ti...

Určite venuj dostatočnú pozornosť pomenovávaniu premenných. Používaj opisné názvy, ktoré jasne vystihujú účel premenných a uľahčujú pochopenie kódu všetkým zúčastnením programátorom.

Zlé formátovanie

Veľa začiatočníkov si nechce lámať hlavu so správnym formátovaním, pretože kód môže bezchybne fungovať, aj keď je formátovanie rozhádzané a nekonzistentné. Avšak v budúcnosti ti to spôsobí veľké problémy pri údržbe a ďalšom pokračovaní v kóde… a pre ďalšieho programátora to bude ešte väčší problém, ak bude musieť údržbu a pokračovanie v kóde zabezpečovať on.

Niektoré bežné chyby formátovania kódu zahŕňajú:
– nepoužívanie správneho odsadenia v kóde
– nepravidelné používanie nových riadkov a bielych znakov alebo všetko pridanie na jeden riadok
– písanie príliš veľkých funkcií alebo zhustenie všetkého do jedného riadku, funkcie alebo súboru
– náhodné používanie veľkých a malých písmen v názvoch premenných.

Toto určite nie je zoznam všetkých formátovacích chýb. Existuje mnoho ďalších formátovacích chýb, ktoré môžeš urobiť vo svojom kóde, najmä ak si začiatočník.

Uisti sa, že píšeš dobre štruktúrovaný kód, ktorý je čistý, čitateľný a ľahko udržiavateľný. Dodržiavaj štandardy formátovania kódu a používaj správne odsadenie, medzery a odriadkovanie.

Odporúčame ti...

Ak sa chceš zdokonaliť v programovaní, pozri si aj náš článok o kurzoch programovania.

Čarovné čísla a reťazce

Čarovné číslo je jedinečná hodnota s nevysvetleným významom alebo niekoľkými výskytmi, ktoré by sa ideálne mali nahradiť menovanými konštantami.

Odporúčame ti...

Ak je niekde v kóde zahrnuté číslo alebo reťazec, ktoré nemá žiadny zrejmý význam, mal by si to odstrániť a nahradiť konštantou.

Zanedbávanie kontroly chýb

Ošetruj svoj kód! Nikdy nedôveruj vstupom od používateľa a vždy overuj vstupy pred ich spracovaním. Buď opatrný pri manipulácii s pamäťou a súbormi a uisti sa, že správne ošetruješ výnimky a chyby.

Odporúčame ti...

Predpokladaj, že používateľ bude testovať čo program vydrží zadávaním nesprávnych dát a dopredu sa na to priprav!

Pretláčanie komentárov

Ak je tvoj kód ľahko čitateľný, nemusíš pridávať zbytočné komentáre. Ak je však tvoj kód pomerne zložitý a vyžaduje vysvetlenie, mal by si pridať komentáre na určitých miestach, aby iní ľudia, ktorí čítajú tvoj kód, mohli lepšie porozumieť jeho zámeru. Predsa len, kód by mal byť čitateľný a ľahko pochopiteľný aj bez množstva komentárov.

Odporúčame ti...

Vhodne pomenované premenné, metódy aj funkcie do veľkej miery prispievajú k čitateľnosti kódu.

Neprestávaj sa vzdelávať

V oblasti softvérového vývoja je neustále učenie sa a zlepšovanie veľmi dôležité. Technológie sa dynamicky vyvíjajú a menia, a preto by si sa mal usilovať neustále sa vzdelávať a zdokonaľovať. Čítaj knihy, články, sleduj online kurzy a neustále rieš nové problémy a tak rozvíjaj svoje programátorské schopnosti.

Ak sa vyvaruješ týmto chybám, budeš na dobrej ceste k efektívnemu a čistému kódovaniu v akomkoľvek programovacom jazyku. Pamätaj, že programovanie je proces učenia sa a neustáleho zdokonaľovania sa, takže nebuď príliš prísny voči sebe. S časom a skúsenosťami sa určite staneš lepším programátorom.

Pouč sa z cudzích chýb, pretože život nie je dosť dlhý na to, aby si ich všetky urobil sám.

Aká je mzda programátora? Pozri si článok Plat programátora. Ak máš skúsenosti s Java programovaním, V msg life Slovakia hľadáme šikovných kolegov, napríklad na pozíciách Java programátor junior alebo Java programátor senior. Máme atraktívne firemné benefity. Prezri si voľné pracovné miesta a pošli nám svoje CV ešte dnes.

O autorovi

Jozef Wagner

Java Developer Senior

Viac ako 10 rokov programujem v Jave, momentálne pracujem v msg life Slovakia ako Java programátor senior a pomáham zákazníkom implementovať ich požiadavky do poistného softvéru Life Factory. Vo voľnom čase si rád oddýchnem v lese, prípadne si zahrám nejakú dobrú počítačovú hru.

Daj nám o sebe vedieť