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

NetSuite Consultant / Hamburg / Munich /

Basic informationPosition: Junior/Medior NetSuite Consultant Contract Type: Internal Employee Location: Hamburg or Munich /Home office possible/ Language: fluent German and EnglishGermany company which...

.NET Developer

Pozícia: .NET  Developer Typ Zmluvy: TPP Lokalita: Bratislava Plat:  od 1500 - 2500 EUR/BruttoMedzinárodná softvérová spoločnosť hľadá .NET Developera.Náplňou práce bude budovanie...

Angular Developer – REMOTE

Pre nášho partnera hľadáme ITčkára na pozíciu Angular Developer. Spoločnosť sa venuje vývoju platformy pre firmy na znižovanie nákladov...

REMOTE Android Developer

Pozícia: Android Developer Typ Zmluvy: Kontrakt Lokalita: REMOTE Plat:  od 3600 - 4000 EUR/mesačneIde o vývoj aplikácie pre platobné terminály. Očakávame aspoň...

Java Develooper

Medzinárodná IT spoločnosť, ktorá vyvíja softvér pre banky a poisťovne v západnej Európe hľadá človeka na pozíciu JAVA DEVELOPER.Práca...

Frontend Developer

Medzinárodná IT spoločnosť, ktorá vyvíja softvér pre banky a poisťovne v západnej Európe hľadá človeka na pozíciu Frontend Developer.Práca...

IT Test Manager

Medzinárodná spoločnosť, ktorá vyvíja softvér pre banky a poisťovne v západnej Európe hľadá človeka na pozíciu IT Test Manager.Práca...

Slovensko.Digital: Otvorený list o situácii na FIIT STU

Vážený pán Minister školstva, vedy, výskumu a športu SR, Rektor Slovenskej technickej...

Daniel Husar: Najpodstatnejšie sú soft skills a ľudská povaha

Daniel Husar je full-stack engineer, aktuálne pracuje v spoločnosti Intercom v San Francisco v Kalifornii. Má rad...

Aj ty v IT nominované na cenu UNESCO v oblasti vzdelávania dievčat a žien

Prize for Girls’ and Women’s Education je medzinárodné ocenenie udeľované od roku 2016 Organizáciou Spojených národov pre...

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