Tiszta kód Flashcards

1
Q

Jellemezd az értelmes neveket!

A

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.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

Jellemezd a függvényeket!

A

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

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

Osztályozd a függvényeket argumentumszámai szerint!

A

Niladikus - nincs argumentum
Monadikus - egy argumentum
Diadikus - két argumentum
Triadikus - három algumentum
Poliadikus - háromnál több argumentumos

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

Mi a probléma az argumentumokkal?

A

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.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

Mi a baj a megjegyzésekkel?

A

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.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

Milyenek a jó megjegyzések?

A

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

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

Sorolj fel néhány rossz megjegyzés fajtát!

A

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

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

Jellemezd a hibakezelést!

A

Hibakódok visszaadása helyet kivételeket használjunk.
Használjunk nem ellenőrzött kivételeket.
Ne adjunk vissza null-t.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

Jellemezd az ellenőrzött és nem ellenőrzött kivételeket!

A

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.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

Jellemezd a formázást!

A

Ú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.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

Jellemezd az újság metaforát!

A

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.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

Jellemezd a függőleges formázást!

A

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.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

Jellemezd a vízszintes formázást!

A

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.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly