Code review a gyakorlatban Flashcards
Mi a code review?
A code review egy olyan eszköz, mely segítségével fel tudjuk fedezni a hibáinkat, másoktól tanulni tudunk.
A code review során egy másik fejlesztővel átnézetjük a kódunkat, ő ellenőrzi azt kód tisztaság szempontjából. A kód tisztaságával azért kell törődni, mert a hosszabb karbantarthatóság ezt megköveteli.
Milyen a tiszta kód?
- jól fókuszált
- egy dologgal foglalkozik
- nincs tele szeméttel
- csak azt tartalmazza, ami oda tartozik
- kompakt
- többi fejlesztő könnyen olvassa, értelmezi
- tesztek nélkül nem tiszta a kód! emellett a teszteknek is tisztának kell lenniük
- duplikációtól mentes
A tiszta kód hatékony és gyors. Ha nem tiszta a kódunk, egyre jobban lelassul a fejlesztés az idő elteltével. Gyakori kifogás, hogy majd később megcsináljuk, de nem érdemes halogatni, mert elfelejtődik. Ha egy olyan kódot veszünk át, ami nem tiszta, érdemes a cserkész szabályt alkalmazni (hagyjuk tisztábban a kódrészletet, mint amilyen volt munkánk előtt).
Automata kódanalízisek
- Segítenek felfedezni a nem tiszta kódra jellemző hibákat. Kód stílust kényszerítenek ki, detektálnak kód duplikációt, effektívek és költséghatékonyak.
- Választ próbálnak adni arra, hogy mennyire jó a kódunk, meddig tartana refaktorálni, valamint ehhez metrikákat ad.
- A SonarQube is egy ilyen rendszer, mely teszt lefedettséget is mutat.
- Érdemes azért átnézni, hogy a jelzések jogosak-e: a program nem tudja, mi mik voltak a pontos szándékaink a kód írásakor! Nem egyszerű őket konfigurálni.
Kik review-zzanak és miért?
- Érdemes akár az egész fejlesztői csapatnak is review-zni. Így a fejlesztők hamar el tudják egymástól tanulni a megfelelő kódolási formákat. Tudás megosztás történik ilyenkor, vagy mi tanulunk valamit, vagy tőlünk tanulnak.
- Ha egy valaki review-ol, érdemes váltogatni, hogy ki az, így még többet tanulhatunk, illetve más emberek más hibákat vehetnek észre. Dicsérjük is a másikat, mikor mi review-zunk. Kérdésekkel kommunikáljunk felé.
- Kezeljük tisztelettel a kevesebbet tudókat!
- Teszteket is érdemes reviewolni.
- A review meetingek nem probléma megoldó meetingek.
- Arra is figyeljünk, hogy sokszor többféle irányból is meg lehet közelíteni az adott problémát.
Code smell
Code smellektől szabaduljunk meg minél hamarabb. Ezek tartozások a kód felé. Később nehezebb lesz tőlük megszabadulni. Code smell pl: duplikáció, komplexitás, túlabsztraktálás, hosszú osztály, metódus.