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.

Automation Tester

Máš skúsenosti s automatizovaným testovaním? Pre Automatizovaného testera máme príležitosť v oblasti digitálneho bankovníctva. Ide o projekt na kontrakt s odmenou...

Java Junior/Medior Developer

Osamostatni sa a pracuj sólo! Práve teraz je tu príležitosť pre Junior/Medior Java Developera pracovať na projekte pre medzinárodnú...

MS BI Developer / REMOTE

Sprav krok vpred s novým projektom v oblasti bankovníctva. Ide o projekt na kontrakt s dĺžkou trvania 2 roky. Odmena...

Business Development Manager

Máš skúsenosť s aktívnymi akvizíciami SW riešení pre banky/poisťovne? Pre stabilnú československú spoločnosť hľadáme Business Development Managera, ktorý sa vyzná...

Julia Developer / REMOTE

Projekt pre nadšencov Julia a machine learning. Pre spoločnosť, ktorá používa matematické metódy a metódy AI / ML na...

Scala Medior/Senior Developer

Nechceš denne dochádzať do práce? Chcel by si byť súčasťou dlhoročného startupu, len senior ľudia (žiadni študenti) a pracovať...

Junior Scala Developer

Nechceš denne dochádzať do práce? Chcel by si byť súčasťou dlhoročného startupu, len senior ľudia (žiadni študenti) a pracovať...

Toto sme stihli v roku 2020!

Rok 2020 bol určite neobyčajným rokom pre mnohých nielen z oblasti IT. Presunuli sme sa z kancelárií a open...

Tieto projekty získajú podporu z fondu SK-NIC

Poslednú tohtoročnú výzvu Fondu SK-NIC sme vyhlásili 1. septembra 2020 a otvorená bola až do 15. októbra. Do termínu uzávierky prišlo rekordných...

Novoročný AWS meetup o novinkách v cloudových technológiách

Pozývame vás na prvý AWS meetup roku 2021. Samozrejme online. Téma meetupu Každý rok prináša konferencia AWS re:Invent množstvo noviniek v...

Čí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ť.