Blog Píšete kód alebo bordel?

Píšete kód alebo bordel?

Píšete kód alebo bordel? 1Neoddeliteľnou súčasťou každodennej práce programátora je čítanie kódu iného  programátora. Na projektoch pracujú tímy, úlohy zasahujú do rôznych vrstiev a modulov systému, takže sa jeden človek musí zorientovať v “cudzom” kóde.

Pracujem v doméne kde musí byť všetko tip-top. Na všetko sú procesy, všetko musí byť validované, certifikované, overené atď. A samozrejme aj kód. Kolega, ktorý odišiel po niekoľkých rokoch do inej firmy, povedal „Teraz ako keby som zadanie do školy robil“. A samozrejme aj kód. Používame veľa konvencií pri jeho písaní. Je to podľa vás dobré?

Podľa mňa je to viac než dobré. Čítať kód pekne odsadený, naformátovaný, okomentovaný, že by sa v ňom vyznala aj vaša babička. Konvencie pomenovania premenných, argumentov, konštánt atď. veľmi zvyšujú čitateľnosť, a prispevajú tak k rýchlejšiemu pochopeniu.

Je pravda, že ak idem programovať niečo, s čím nemám veľké skúsenosti, a skúšam rôzne riešenia, tak najprv na nejakú tú úpravu z vysoka kašlem a pomenúvam premenné a,b,c či d. Ale nakoniec, keď dospejem k finálnemu riešeniu, vždy všetko upravím, nech to vyzerá ako má. Ale veľa ľudí píše ako príde. Jednoducho to len naklepú, a keď to funguje, tak ideme ďalej.

Píšete kód alebo bordel? 2

Zabíjal by som za to. Toľkí egoizmus, a ešte pri tímovej práci. Samozrejme, tiež som to tak niekedy robil, keď som začínal, ale vždy som sa snažil mať v kóde aký taký poriadok.  Pokročilejší programátor by si už nemal dovoliť písať taký bordel. Každému by som dal ako povinné čítanie knihu od Steva McConnell-a: Dokonalý kód. Pokojne z toho mohli spraviť predmet v nižších ročníkoch vysokej školy.

A neodpustím si jeden príklad:

bool result = nejakyObjekt.JeInicializovany();

if (result == true)

{

   return true;

}

else

{

   return false;

}

Áno, takéto niečo som videl napísané na vlastné oči. Áno, aj mne sa už stalo, že som niekedy niečo podobné napísal. Áno, dá sa to jednoduchšie:

return nejakyObjekt.JeInicializovany();

A toto je len jeden z mnoha príkladov, tých akceptovateľnejších. Formátovanie dátumu cez orezávanie reťazca namiesto použitia formattera. Neviem, či je to lenivosť naučiť sa používať formátovanie, alebo nejaká myšlienka, že čím viac kódu, tým lepšie.

Ešte mi napadá, že si takto možno ľudia zabezpečujú prácu do budúcna – refaktoring. Respektíve ich metodológia vývoja je taká, že po nich nikto kód nekontroluje, až kým netreba riešiť chybu alebo upravovať kód. No veď stačí si pozrieť jednu stránku, kde sa takéto kúsky zhromažďujú, a človek nevie či sa má smiať alebo plakať.

Nemám skúsenosti s vývojom open-source softvéru, kde kód píše oveľa viac ľudí, ktorí sa ani nepoznajú. Takže by som bol rád ak by sa ľudia z tejto oblasti mohli vyjadriť, ako vyzerá kód, či sa niečo dodržuje, alebo to vyzerá ako seno.

Niekde som čítal (možno to bolo aj vo vyššie spomenutej knihe) peknú vetu:

“Píšte kód najprv pre ľudí, potom pre počítače”.

Predstavte si, že vás kód bude čítať niekto iný? Porozumie mu? Nebudete sa za neho hanbiť?


Dobrý článok? Chceš dostávať ďalšie?

Už viac ako 6 200 ITečkárov dostáva správy e-mailom. Nemusíš sa báť, nie každé ráno. Len občasne.



Súhlasím so spracovaním mojich osobných údajov. ( Viac informácií. )

Tvoj email neposkytneme 3tím stranám. Posielame naňho len informácie z robime.it. Kedykoľvek sa môžeš odhlásiť.

Roman Málik
Roman Málik
22 – ročný študent posledného ročníka FEI TUKE, odbor Informatika. Začínal Pascalom a obdivovaním starších Cčkárov. Vývojár najmä pre .NET platformu. Popri škole zvyčajne automatizuje integračné testy ako študent v košickej pobočke veľkej medzinárodnej spoločnosti.

Scala Developer/ka

Máš rád svoju slobodu, pracuješ na projektoch, ideálne remote? Staň sa súčasťou startupu, ktorý buduje platformu na podporu maloobchodu a...

Java Software Architect

Mrháš svojim talentom? Urob prvý krok a zistí čo Ti dnešok ponúka. Medziiným aj prácu v medzinárodnej IT spoločnosti,...

Back-End Developer / REMOTE

Pracuj na svetovom SW produkte, ktorý je používaný miliónmi používateľov! Firma rýchlo rastie a vyvíja nové features. Poznáme ich prostredie...

FullStack PHP Developer

Chcel by si dlhodobú spoluprácu, dobré pracovné podmienky, seriózny prístup? Hľadáme FullStack PHP Developera pre spoločnosť, ktorá sa zaoberá...

Python Medior/Senior Developer

Si Python developer, chceš sa naučiť Go, ideálne remote? Spoločnosť, ktorá sa zaoberá pokročilou analýzou dát a automatizáciou marketingu...

Data Scientist / REMOTE

Pre mladý startup vyvíjajúci softvér, ktorý prispieva hráčom k lepšiemu zážitku z hrania, hľadáme Data Scientist. Založili ho dvaja...

IT Aplikačný Architekt

Chceš stabilné zamestnanie, vychutnávať si skvelý kolektív a mať priestor na realizáciu svojich riešení? Pre spoločnosť pôsobiacu v energetike...

Zapojte sa do prvého NCC hackathonu!

Nenechajte si ujsť prvý hackathon Národného kompetenčného centra pre HPC a využite jedinečnú príležitosť podieľať sa na vývoji aplikácie,...

Zviditeľnite sa v médiách ako odborník v oblasti IT

Zaujímajú vás novinky zo sveta IT a chýbajú vám v médiách? Pomôžte budovať povedomie v oblasti informačných technológií a...

Súťaž Scracth Match 2021 zaznamenala nárast, dominovali jej edukatívne hry

Porota celoslovenskej súťaže Scratch Match 2021 už po piaty raz ocenila nádejné programátorky vo veku 8-15 okov. Medzi ocenenými...

Čítaj ďalej:

Dobrý článok? Chceš dostávať ďalšie?

Už viac ako 6 200 ITečkárov dostáva správy e-mailom. Nemusíš sa báť, nie každé ráno. Len občasne.

Súhlasím so spracovaním mojich osobných údajov. ( Viac informácií. )

Tvoj email neposkytneme 3tím stranám. Posielame naňho len informácie z robime.it. Kedykoľvek sa môžeš odhlásiť.