Jegyzetek a Tiszta Kód c. könyvből

Könnyen kimondható, beszédes, kereshető nevek
főnevek, főnévi igenevek (Customer,WikiPage,Account,AddressParser)
Függvény és metódusnevek
ige, igei kifejezések (getName, setName, isPosted)
Túlterhelt konstruktor esetén alkalmazzunk statikus gyártó függvényt a paramétereket leíró nevekkel
A [Complex fulcrumPoint = Complex.FromRealNumber(23.0);] jobb, mint a [Complex fulcrumPoint = new Complex(23.0);]
Paraméter nevek
ovashatóbb megnevezés - a1,a2 helyett source,destination
Interface nevek
IShapeFactory helyett ShapeFactory és az implementáló osztály neve ShapeFactoryImp
Egyéb változók
Ciklusváltozóknál az i,j,k hagyományosan elfogadott kis terjedelmű egyszerű ciklusoknál. Egyéb változóknál a tipuskódolás szükségtelen

Függvények írása

törekedjünk a kis méretű függvénytörzsre, ha lehet csökkentsük a méretet még tovább
a switch ... case külön függvénybe, alacsony szintű osztályokba, átgondolni a programrész objektum orientáltságát!
elágazásokba, ciklusokba max. egyetlen sor szerepeljen, egy függvényhívás (dokumentációt is segíti)
Használjunk beszédes konstansokat névtelen számok helyett
lehetőleg egy függvény egy feladatot végezzen, egy elvonatkoztatási szint
hibakezelés külön feladat
try...catch blokkból emeljük ki a tartalmat egy throws függvénybe
leszálló szabály
minden függvényt a következő elvonatkoztatási szintű függvény követi, így a szinteket lefelé követve haladhatunk a fügvények megértése során
Elvonatkoztatási szintek
  • alacsony: append(String valueForAppend)
  • közepes: PathParser.render(String pagePath)
  • magas: getHtml()
Függvény paraméterek
  • max 2 paraméter. E fölött osztály létrehozása indokolt
  • könnyen tesztelhető a kevés paraméterrel megírt függvény
  • név: jelzős szerkezetet kerülni kell (pl.: isSuite - a függvény egy feladatnál több dolgot végez)
  • a paraméter más elvonatkoztatási szinten van, mint a függvény