67 lines
4.2 KiB
Plaintext
67 lines
4.2 KiB
Plaintext
A tiszta kód olyan programkód, amely olvasható, könnyen érthető és karbantartható. Ennek elérése érdekében a tiszta kód az egyszerűség, átláthatóság és megfelelő struktúra elveit követi.
|
|
|
|
Miért fontos a tiszta kód?
|
|
A tiszta kód elengedhetetlen a hosszú távú karbantartás és fejlesztés szempontjából. Egy tiszta kódbázis segíti a csapatot a hatékony együttműködésben és csökkenti a hibák keletkezésének esélyét.
|
|
- Olvashatóság: A kódot más fejlesztők könnyen megérthetik.
|
|
- Egyszerűség: A bonyolultság csökkentése gyorsabb hibajavítást tesz lehetővé.
|
|
- Karbanthatóság: A kód hosszú távon fenntartható és módosítható marad
|
|
|
|
Olvashatóság
|
|
Az olvashatóság azt jelenti, hogy a kód könnyen érthető mind a fejlesztők, mind a tesztelők számára. Ennek érdekében:
|
|
- Használjunk értelmes változó -és függvényneveket
|
|
- Strukturáljuk a kódot logikus blokkokra
|
|
- Használjunk megfelelő indentálást (vízszintes elválasztás / igazítás) és sorhosszúságot
|
|
|
|
Egyszerűség
|
|
Az egyszerűség elve szerint a kódot a lehető legegyszerűbben kell megírni, miközben minden szükséges funkcionalitást megvalósít. Kerüljük:
|
|
- A felesleges bonyolultságot
|
|
- A fölösleges és redundáns kódrészleteket
|
|
|
|
Karbantarthatóság
|
|
A karbantarthatóság érdekében a kódnak modulárisnak kell lennie, és megfelelően dokumentáltnak. Ez azt jelenti, hogy a kódrészleteket könnyen újra lehet használni és módosítani.
|
|
|
|
Indentálás és sorhosszúság
|
|
Indentálás: Kövessük a nyelv által javasolt szabványokat (C# esetében 4 szóközzel vagy tab karakterrel igazítjuk a sor elejét).
|
|
Sorhosszúság: Tartsuk a sorokat 80-100 karakter között, hogy a kód olvasható maradjon minden eszközön.
|
|
|
|
Fehér terek és kommentek helyes használata
|
|
|
|
Fehér terek használata
|
|
Hagyjunk üres sorokat a logikai blokkok között a kód struktúrájának kiemelésére. Használjunk szóközöket az operátorok közül a kód olvashatóságának javítása érdekében.
|
|
|
|
Kommentek
|
|
A kommentek a kód megértését segítikm de csak akkor használjuk őket, ha valóban szükséges. A fölösleges kommentek zavarók lehetnek és csökkentik az olvashatóságot.
|
|
|
|
Projekt struktúrája
|
|
- Osztályokat és metóduspkat rendezzük logikus modulokba ls csomagokba.
|
|
- Egy fájl egyetlen felelősséget lásson el.
|
|
|
|
Függvények és metódusok tisztasága
|
|
Az egytlen felelősség elve
|
|
- Egy függvény vagy metódus csak egy dolgot végezzen és azt jók végezze el.
|
|
Rövidség és egyszerűség
|
|
- A függvények legyenek rövidek és kerüljük a túlzott összetettséget. Ha egy függvény túl hosszú, osszuk fel kisebb részekre.
|
|
|
|
Refaktorálás
|
|
A refaktorálás szükségessége
|
|
A refaktorálás célja a kód minőségének javítása anélkül, hogy megváltoztatnánk annak viselkedését. Ez segít az olvashatóság és karbantarthatóság növelésében
|
|
|
|
Gyakori refaktorálási lépések
|
|
- Változók és függvények átnevezése
|
|
- Redundáns kód eltávolítása
|
|
- Hosszú függvények felosztása kisebbekre
|
|
|
|
Kódszagok felismerése és javítása
|
|
Kódszagok definíciója
|
|
A kódszag olyan kódrészlet, amely potenciális problémára utal. Ezek közé tartozik:
|
|
- Hosszú függvények: Túl sok mindent csinálnak
|
|
- Redundancia: Ugyanaz a kód több helyen is előfordul
|
|
- Túl sok paraméter: Egy függvény túl sok bemenetet igényel
|
|
|
|
SOLID alapelvek alkalmazása
|
|
A SOLID alapelvek segítenek az objektumorientált kód struktúrálásához:
|
|
- S: Egyszeri felelősség elve - Egy osztály csak egy dolgot csináljon.
|
|
- O: Nyitott zárt elve - Egy osztály legyen nyitott a bővítésre, de zárt a módosításra.
|
|
- L: Liskov helyettesítési elv - Egy származtatott osztály helyettesíthető legyen az alaposztályával anélkül, hogy a program helytelenül működne.
|
|
- I: Interfész-szegregációs elv - Az interfészek legyenek kisebbek és specifikusabbak, hogy az implementáló osztályok ne legyenek kénytelenek fölöseges metódusokat megvalósítani.
|
|
- D: Függőség-inverzió elve - A magas szintű modulok ne függjenek alacsony szintű moduloktól, mindkettő absztrakciótól függjön. |