Főoldal

"Mérnököt a mérnöktől"

A Schönherz Bázis összeköti az állást kereső és állást kínáló mérnököket.

CV küldés

Küldj önéletrajzot! Gyorsan, egyszerűen.
Megjegyzésbe írd be a pozíció nevét.
CV küldés

Iratkozz fel hírlevelünkre!

Hírek

Code review - 7 gyakori hiba, amit lehet te is elkövetsz
Code review - 7 gyakori hiba, amit lehet te is elkövetsz

Hogyan lehet a lehető legtöbbet kihozni a kód átvizsgálás folyamatából?


A kód átvizsgálása sokat javíthat a munkád minőségén. Ennek persze az a feltétele, hogy megfelelően végezd el. Készítettünk egy listát az általános hibákról.


1.Előtérben a stílus és szintaxis

Sokszor megfigyelhető, hogy a valóban szignifikáns problémák helyett, hangsúlyosabbá válik, hogyan írták meg a kódot. Ennek az oka az, hogy ezek a hibák sokkal könnyebben észrevehetőek. Minden fejlesztő szeme automatikusan rááll, hogy kijavítsa a felesleges sorokat, szóközöket stb.

  • Hogyan csináld?

Ha valamit automatikusan kell elvégezni, biztos, hogy egy gép úgyis hatékonyabb lesz nálad. A legjobb, ha készítesz egy programozási stílus útmutatót adott eszközökkel, amikkel rögtön javítani tudod magad, függetlenül attól, hogy milyen programmal dolgozol (Emacs, VIM, Visual Studio vagy intelliJ). Statikus kódanalízishez használt eszközök számos hibát és szabálytalanságot képesek kijavítani.

Az ellenőrzést az automatikus szoftverek által nem detektálható szintaxis egyszerűsítésekkel kell kezdeni. Bár sokkal egyszerűbb a kisebb hibákra, elütésekre felfigyelni, a fő cél mégis megérteni a „nagy egészet” és azt tökéletesíteni. Tehát, ha nem érted a hibaüzenetet, ne klikkelj rögtön az elfogadásra, próbáld értelmezni is azt.


2.Kihagyott tesztek

Nem futtatod le a teszteket, csak vetsz rájuk egy gyors pillantást és máris a végrehajtás részhez ugrasz? Hidd el, én is voltam így. A tesztek átvizsgálása unalmas. Tesztesetek megírása, kiértékelés, kód javítása újra és újra. Ez a repetitív munka gyakran arra késztethet minket, hogy az első pár pozitív teszt után rögtön elkönyveljük, hogy akkor biztos minden más is rendben van.

De a legtöbb esetben ez nem megy ilyen simán, a végeredmény pedig az lesz, hogy néhány teszt (pl.: alapvető szegmensek ellenőrzése, vagy olyan tesztek, amik előzetes eredményekre épülnek) - annak ellenére, hogy az igenis fontos lenne - mégsem kerül lefuttatásra.

  • Hogyan csináld?

A tesztek is programkódok, ezért megérdemlik a pontos ellenőrzést. Kiváló lehetőséget nyújtanak arra, hogy megbizonyosodhass a kód megfelelő működéséről. Ehhez persze nagyfokú figyelem és az elvégzett változtatások pontos megértése szükséges. Ezt a fejlesztő csapat minden tagjának be kell látnia, mert egyes résztvevők támogatásának a hiányában, az egész csak egy szélmalomharccá fajul. Gondold újra, hogy mit és hogyan akarsz tesztelni, döntsd el, mik az app működésével kapcsolatos legalapvetőbb kritériumok. Egyeztessétek az elvárásokat és szabályokat, majd tartsd is magad a megállapodáshoz.



3.Fókuszban csak a legfrissebb kódrészletek

Nagyobb figyelmet szentelsz azoknak a zöld soroknak, mint a pirosaknak? Igen, a legtöbb esetben a hozzáadott kód fontosabb, de például egy régebbi kódrészlet véletlen kitörlése komoly gondokat okozhat, ha nincs egy jól tesztelt rendszered.

  • Hogyan csináld?

A változtatások közben az előző implementáció látható marad a kitörölt sorokban. Így összehasonlíthatod a régi és új tartalmakat, illetve megállapíthatod azt is, ha ez eddig nem volt egyértelmű, hogy a különbségek honnan erednek.

Ha egy metódust töröltél, a code review lehetőséget ad annak az ellenőrzésére is, hogy a függvényhívások is eltűntek-e. Ezenfelül, azt is érdemes megvizsgálni, hogy a kitörölt függvényhívás az adott metódus utolsó parancsa volt-e, mert ha igen, akkor kitörölhető a kódbázisból.


4.Rossz időzítés

A prezentációt megelőző fél órában elvégzett kód átvizsgálás a lehető legrosszabb választás. A review megfelelő kivitelezéséhez elegendő idő szükséges, a sietség a minőség rovására megy. Pedig sokszor előfordul, hogy a review kérelem a demo előtt 15 perccel érkezik be. Az ilyen kellemetlen szituációk többnyire a menedzsment számlájára írhatók, ezért a programozók nem érzik magukat felelősnek. Ugyanakkor a vétkes személyétől függetlenül a hibás kódrészlet attól még ott marad.

  • Hogyan csináld?

Jó megoldás, ha a tennivalókat már a prezentáció, az adott határidő vagy a forgalomba hozatal előtt jóval elvégzed. Csak így lehetsz benne biztos, hogy lesz elég időd a review és a szükséges változtatások elvégzésére.

Előfordul, hogy egy kedvezőtlen fordulat után egy ütős funkció bemutatása élet-halál kérdése. Ilyen esetben a tervezési és fejlesztési folyamat kalkulálásánál érdemes számításba venni, hogy esetleg egy, a review-tól független branch-ot kell használnod.  



5.A tervezés elhanyagolása

Ez egy könnyen elkövethető hiba, ha az ellenőrzést nem vesszük elég komolyan. Egyszerűbb azt mondani, hogy egy kód működni fog, mint a tervezést értékelni. Ehhez figyelmesen át kell gondolni a kód szerepét a rendszerben és az illeszkedését a már meglévő tartalomhoz. A kompatibilitás nyomonkövetése megfelelő módszerekkel, például az OOP alapelvekkel, alapos figyelmet igényel.

  • Hogyan csináld?

Elsőként fontos megvizsgálni, hogy az új komponens vagy változtatás megfelel-e a felállított magas minőségi követelményeknek, továbbá helyes gyakorlatokon alapszik-e. Következő lépésként az architektúrára történő hatásokat kell elemezni. A legtöbb változtatásnak itt nem lesz kihatása, de azt a párat, aminek lesz, részletesen meg kell tervezni. A legjobb megoldás, ha a fejlesztő csapat közösen átbeszéli ezeket a pontokat.



6.Túl nagy changeset-ek

Nem érdemes úgy rendezni a dolgokat, hogy „60 fájl változott, 1740 beszúrás, 1202 kivágás”-hoz hasonló statisztikákat kapj. Még ha tudatosan végig is mentél az összes változtatáson, szinte lehetetlen, hogy ezeket később nagyobb összefüggéseikben át tudod majd tekinteni. Ez egy igen alacsony minőségű review-hoz vezet. Ilyen mennyiségű változtatásnál már csak legfeljebb a szintaxisra lehet gondot fordítani.

  • Hogy csináld?

Nagyon fontos, hogy a munkát több kisebb egységre oszd fel. Egyrészt így jobban kontrollálható és átlátható lesz a munkafolyamat, másrészt ez egyszerűbbé teszi magát a review eljárást is.

Nagyobb változtatásokat akkor lehet kivitelezni, ha az új verzió egy meglévő, alap könyvtárra (keretrendszer) épül. Illetve természetesen előfordulhatnak olyan helyzetek, amikor a nagymértékű módosítások nem elkerülhetőek, pl.: egy nagyobb applikációnál. Ilyen esetben a legjobb megoldás, minimalizálni a változtatások mértékét és nem aktualizálni mindent. Ha sok szerkesztésre van szükség, kezd el a visszaellenőrzést viszonylag hamar és haladj fokozatosan: ezzel elkerülheted, hogy ugyanazt a hibát többször elvétsd. Ettől függetlenül, a végső variáció újbóli átvizsgálása is elengedhetetlen.




7.Homályos kommentek

Nem segít, ha egy átírásra szoruló sorhoz odakommenteled, hogy „Fix plz”. Ki érthetné, hogy mire gondoltál pontosan? Valószínűleg a munkatársaid sem tudnak a gondolataidban olvasni: talán megfejtik, mi okozza a gondot, de lehet, hogy nekik sincs elegendő ismeretük, hogy orvosolják a problémát, vagy talán azt sem értik, hogy mit kellene korrigálni. Az eredményes csapatmunka érdekében alapvető a pontos kommunikáció, tehát mond meg konkrétan, hogy mi nem stimmel az adott résszel.

  • Hogyan csináld?

A kód átvizsgálása arra is lehetőséget ad, hogy a kóddal kapcsolatos különböző elképzeléseiteket ütköztessétek. Az eltérő nem jelent egyben rosszat is. Ahhoz, hogy egy kreatív dialógus elindulhasson, előszőr meg kell határozni a problémát és javasolni kell pár megoldást. Ezek nélkül nem alakulhat ki maga a vita, tehát szemléletváltozás sem következik be. Ráadásul bővebb leírások használatával a code review lehetővé teszi azt is, hogy a programozók egymástól tanuljanak.


A kód reveiw a leghasznosabb eszközök egyike. Használhatod arra, hogy javítsd a kódod minőségét, különböző megoldásokkal, elgondolásokkal szembesülj, illetve, hogy továbbadd a tudásodat. Mindenképp megéri a lehető legtöbbet kihozni belőle.


(Forrás)


***

Ha Te is kreatív, kihívásokkal teli mérnök állást keresel minőségi munkáltatónál, jó helyen jársz, mert a Schönherz Bázis épp azért jött létre, hogy Neked segítsen.
Gyere, nézz szét aktuális állásaink között!


2020.08.04.