Tiszta kód Flashcards
Jellemezd az értelmes neveket!
Leíró neveket kell használni a kódban.
rossz: int d;
jó: int elapsedTimeInDays;
Kerüljük a félrevezető neveket.
rossz: accountList ha nem lista
jó: accounts
Értelmesen megkülönböztethető neveket használjunk.
Ne legyenek általános nevek pl Data, Info.
Legyenek, kiejthető, kereshető, név hossza feleljen meg a hatásköre méretének.
Osztályok neve legyen főnév, metódusoké ige.
A neveket a többi programozó is meg kell értse.
Jellemezd a függvényeket!
Legyenek rövidek. Max 20 sor, de az is ritkán.
Egy dolgot kell csináljanak, de azt jól.
Mellékhatásmentesség, csak azt kell csinálják amit ígérnek. Kerülni kell az output argumentumok használatát.
Parancs-lekérdezés szétválasztás, függvény vagy csinál vagy válaszol, ne mindkett.
Hibakódok helyett, kivételekkel operáljunk.
Try/Catch blokkkokat önálló függvényekbe emeljük ki
Osztályozd a függvényeket argumentumszámai szerint!
Niladikus - nincs argumentum
Monadikus - egy argumentum
Diadikus - két argumentum
Triadikus - három algumentum
Poliadikus - háromnál több argumentumos
Mi a probléma az argumentumokkal?
Olvasó számára megnehezíti a kód megértését. Bonyolítják a tesztelést.
pl. egy logikai típusú argumentum függvénye több dolgot csinál, egyet ha az argumentum igaz, mást ha nem.
Mi a baj a megjegyzésekkel?
A megjegyzések ellensúlyozzák a hiányosságainkat a kóddal történő kifejezésben. Ha elég kifejezők lennének a programozási nyelvek, nem lenne szükség megjegyzésekre.
Túl gyakran közölnek, pontatlan valótlan információkat.
A kód változik, a megjegyzés nem.
A megjegyzések kiváltó oka a rossz kód, a kódot kell rendbe tenni, mintsem megjegyzéseket használni.
Milyenek a jó megjegyzések?
Jogi megjegyzések
Informatív megjegyzések
Szándékot magyarázó megjegyzések
Tisztázó megjegyzések
Következményre figyelmeztető megjegyzések
TODO megjegyzések
Megerősítő megjegyzések
Javadoc megmegjegyzés nyílvános APIban
Sorolj fel néhány rossz megjegyzés fajtát!
Motyogás - jelent valamit a szerzőnek, de más nem érti
Félrevezető megjegyzés - nem pontos
Redundáns megjegyzés - nem könnyebb értelmezni mint a kódot
Kötelező megjegyzés - nyilvánvalót magyarázza
Napló megjegyzés - minden módosítást tartalmaz
Zaj megjegyzés - a magától értetődőt magyarázza
Szerző neve a megjegyzésben - verziókezelő feleslegessé tétel így
Megjegyzésbe tett kód
Jellemezd a hibakezelést!
Hibakódok visszaadása helyet kivételeket használjunk.
Használjunk nem ellenőrzött kivételeket.
Ne adjunk vissza null-t.
Jellemezd az ellenőrzött és nem ellenőrzött kivételeket!
Az ellenőrzött kivételeket a metódusok deklarálják, fordításidejű ellenőrzést tesz lehetővé. Throwsal működik. Arra kényszeríti a programozót, hogy foglalkozzon velük.
A nem ellenőrzött kivételek bárhol dobhatók egy metódus, vagy konstruktor törzsében.
Az ellenőrzött kivételek sértik a nyitva-zárt elvet.
Jellemezd a formázást!
Úgy kell formázni, hogy jól olvasható legyen a kód. Egyszerű szabályokat kell választani a formázáshoz. Függőleges és vízszintes formázást kell alkalmazni.
Jellemezd az újság metaforát!
Egy jól megírt újságcikket felülről lefelé haladva olvasunk. Tetején egy cím, lefelé haladva pedig egyre több részletet oszt meg. A forrásállomány legyen olyan mint egy újságcikk. Neve legyen egyszerű és beszédes. Elején magas szintű fogalmakat tartalmaz, lefele haladva pedig egyre több részletet.
Jellemezd a függőleges formázást!
Egy-egy üres sor jelöljön minden új fogalmat. Szorosan kapcsolódó programsorok sűrűn kell, hogy megjelenjenek. A szorosan kapcsolódó fogalmakat tartsuk függőlegesen egymáshoz közel. A változókat deklaráljuk a használatuk helyéhez a lehető legközelebb.
Jellemezd a vízszintes formázást!
Ne legyenek hosszú sorok. Max 120 karakter. A gyengén összetartozó elemek közzé rakjunk szóközt. Deklarációban és értékadásban nem érdemes a neveket és kifejezéseket igazítani. Használjunk szóközt és tabulátort is.