Clean Code – úvod do čistého kódu

čistý kód

Kdybych měl vyjmenovat tři nejdůležitější principy spjaté s vývojem kvalitního softwaru, určitě bych mezi ně zařadil čistý kód. Co je to vlastně čistý kód? Definic čistého kódu je pravděpodobně tolik, kolik je programátorů. V tomto prvním úvodním článku se pokusím objasnit, co to čistý kód vlastně je a proč je tak důležitý pro Váš projekt.

Kniha clean code od Robert C. Martina
Kniha clean code od Robert C. Martina

Čistý kód je technika programování. Její základy stanovil a sepsal spoluautor agilního manifestu, Robert Cecil Martin (známý jako Uncle Bob – strýček Bob), v knize Clean Code (u nás se prodává pod názvem Čistý kód). Mezi nejznámější definice patří

„Čistý kód je jednoduchý a přímočarý. Čistý kód se čte jako dobře napsaná próza. Čistý kód nikdy nezatemňuje záměr návrháře, ale je plný břitkých abstrakcí a přímých toků řízení.“, Grady Booch, autor knihy „Object Oriented Analysis and Design with Applications“

 

“Že pracujete s čistým kódem, poznáte podle toho, že každá procedura, kterou procházíte, se ukáže být tím, co jste do značné míry předpokládali. Kód můžete označit za nádherný, když vypadá, jako kdyby byl použitý jazyk pro daný problém stvořen.”, Ward Cunningham, tvůrce „Wiki“, spolutvůrce „eXtrémního Programování“, myšlenkový představitel OOP

what is clean code?
Definice čistého kódu

“Čistý kód:

  • Projde všemi testy
  • Neobsahuje žádná opakování kódu
  • Vyjadřuje veškeré myšlenky návrhu, které jsou v systému
  • Minimalizuje počet entit, jako jsou třídy, metody, funkce a podobně”

, Ron Jeffries, autor knihy „Extreme Programming Installed“

Klasický vývojový cyklus projektu napsaném ve špatném a dobrém kódu je znázorněn na grafu produktivity.

špatnýkod-graf
Graf produktivity

Když je projekt nový, snadno se přidávají nové věci a vývoj jde rychle v obou případech. S přibývajícím špatným kódem však stoupá chybovost, mnoho času se věnuje procházení kódu, hledání v něm a opravami a nové věci se přidávají stále obtížněji. Rychlost vývoje na projektu časem spadne na minimum. V grafu je znázorněn i malý skok. To je chvíle, kdy se většinou management rozhodne pomalý vývoj na projektu řešit příchodem nových programátorů. To má paradoxně za následek ještě větší pokles produktivity, protože současní vývojáři zaučují nové. Po nějaké době křivka produktivity se zaučením nových vývojářů mírně stoupne, avšak za cenu vyšších nákladů, protože deset vývojářů stojí více než pět. Tento krok je ale jen výkřikem do tmy a je jen otázkou času, než se produktivita dostane zase na původní, téměř nulovou produktivitu.

Čistý kód je soubor technik a pravidel, které mají za cíl udržet co nejvyšší produktivitu s přibývajícím kódem. Abych byl upřímný, je jasné, že ať už píšete čistě nebo ne, ve větším množství kódu jsou vždy úpravy náročnější než v novém prázdném projektu. Pokud je ale projekt napsán čistě, tak je čas padající na hledání a opravy minimalizován a projekt je dlouhodobě udržitelný s malou ztrátou produktivity.

Abych to tedy shrnul, jaké jsou typické znaky projektu napsaného ve špatném kódu?

  • Mizerná produktivita vývojářů, protože
    • Tráví většinu času procházením a hledáním v kódu místo psaní
    • Zásah do kódu ovlivňuje další části aplikace
    • Tráví většinu času údržbou a opravami
  • Je obtížné zaškolit nového člověka
  • Vývojáři nejsou s prací spokojeni a nebaví je
  • Management není spokojen s prací vývojářů
    • Neplnění termínů
    • Nemožnost nabídnout nové zakázky

V příštím článku si řekneme více o čistém kódu a taky o časté programátorské nepravdě, tedy že programovat čistě je časově náročnější.

 

Napsat komentář

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