SonarQube a teszteléshez
- KISS: Írd le a kódot a lehető legegyszerűbben
- DRY: Ne ismételd magad.
- YAGNI: Törölni kell, ami nem nélkülözhetetlen.
- 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.