• Írd le a kódot a lehető legegyszerűbben: KISS.
  • Ne ismételd magad: DRY.
  • Törölni kell, ami nem nélkülözhetetlen: YAGNI.
  • Az olvashatóság előnyben részesítése

Bjarne Stroustrup (1950 - )

Szeretem, ha a kódom elegáns és hatékony. A logikája egyszerű kell, hogy legyen, hogy nehezen bújjanak meg a hibák a kódban. A függőségek legyenek minimálisak a könnyű karbantarthatóság érdekében. A hibakezelés legyen teljes, a teljesítmény pedig közel optimális, hogy ne kísértsen a kódot piszkító optimalizálásra. A tiszta kód egy dolgot csinál, és azt jól. (forrás: Bjarne Stroustrup)

Robert C. Martin „Tiszta kód” összefoglalója

A kód akkor tiszta, ha könnyen érthető – a csapat minden tagja számára. A tiszta kódot az eredeti szerzőtől eltérő fejlesztő is olvashatja és javíthatja. Az érthetőséggel együtt jár az olvashatóság, a változtathatóság, a bővíthetőség és a karbantarthatóság.

Nómenklatúra

Olyan neveket használjunk a kódban, melyekből kiderül a szándék, kiejthető

Rossz gyakorlat

  • int d; // elapsed time in days

Jó gyakorlat

  • int elapsedTimeInDays;
  • int daysSinceCreation;

Függvények

A függvények nagyon rövidnek és tisztának kell lennie, amely nem függ külső változtatható állapottól. Mindig ugyanazt a kimenetet adja vissza, ha ugyanazt a bemenetet kapja.

  • Nem szabad, hogy 100 sorosak legyenek. Nagyon ritkán legyenek 20 sorosak. Lehetőleg inkább 2–4 sorosak.
  • Utasításblokkok (for, if, while, …) egyetlen sornyi kódot kell, hogy tartalmazzanak, mely várhatólag egy függvényhívás.
    • Ez nem csupán röviden tartja a befoglaló függvényt, hanem dokumentációs értékkel is bír, mivel a meghívott függvény neve beszédes.
    • Ez azt is jelenti, hogy a függvények bekezdési szintjeinek (indent level) szá-ma nem lehet több 2-nél. Ez a függvényeket könnyen olvashatóvá és érthetővé teszi.
  • A függvénynek lehetőleg ne legyen argumentuma, de háromnál több soha.
  • A függvények legyenek mellékhatásmentesek - Csak azt csinálják, amit ígérnek.
  • Kerülni kell output argumentumok használatát.
  • Egy függvény vagy csináljon valamit, vagy válaszoljon valamit, de egyszerre mindkettőt ne.

Megjegyzések

Megjegyzéseket kerülni kell! Próbáljuk helyette a kódot beszédessé tenni. Karbantartásuk sok plusz feladatot jelent és ha elmarad, akkor megzavarhat.

Újság metafora

Egy jól megírt újságcikket felülről lefelé haladva olvasunk. A tetején egy olyan cím van, mely alapján az olvasó eldöntheti, hogy érdekli-e egyáltalán. Az első bekezdés a teljes történet egy összefoglalását adja. Lefelé haladva a bekezdések egyre több és több részletet tartalmaznak.

Egy forrásállomány is legyen olyan, mint egy újságcikk. A neve legyen egyszerű és beszédes. Az eleje magas szintű fogalmakat és algoritmusokat tartalmazzon. Lefelé haladva egyre nagyobb hangsúlyt kapnak a részletek. A végén legyenek a legalacsonyabb szintű függvények.