Dočetl jsem před nedávnem knížku Čistý kód. To nejpodstatnější a pro mě nejpřínosnější shrnuto do stručných bodů:
- Každé nutkání napsat komentář signalizuje, že kód není napsán dostatečně přehledně, že názvy funkcí a proměnných nevyjadřují přesně to, co se má dít. Je lepší psát kód tak, aby se četl přirozeně jako lidsky pochopitelný popis toho, co se bude jak dělat. Pokud funkce například dělá dvě věci a někdo by měl nutkání vepsat do funkce dva komentáře uvozující tyto dvě činnosti, je lepší rozdělit funkci na dvě a každou z nich pojmenovat tím, co by bylo napsáno v takovém komentáři.
- Čistý kód nelze psát hned. Zdržuje to a nutí to programátora zbytečně přemýšlet příliš dopředu. Daleko lepší je kód psát nanečisto (nalepit dlouhé řádky kódu do jediné funkce), a až je psaní hotovo, kód refaktorovat – rozdělit na menší funkce, vybrat lepší jména pro proměnné. Dělat tohle všechno během psaní kódu zdržuje a odvádí pozornost. Moderní vývojová prostřední poskytují spousty pomoci s refaktorizací existujícího kódu, proto “zkrášlování” kódu až dodatečně stojí velmi málo času, a lze ho prakticky provádět souběžně s jakousi zběžnou kontrolou správnosti kódu.
- Testy pomáhají při refaktorování kódu. Nejlepší způsob, jak zjistit, zda změny v kódu nezanesly do systému nějakou chybu, je mít vše pokryté testy. Lze pak testovat každou změnu kódu jednotlivě a úplně. Manuální testování (“jestli to funguje”) může podobné hloubky a preciznosti dosáhnout jen velice těžko.