Kód vélemények

Szükség van-e a kód felülvizsgálatára? Nem vizsgáljuk felül a kódot egyidejűleg a fejlesztéssel? Ha már rendszeresen használom a refaktorálást, akkor mi értelme újra ellenőrizni a kódot?

Sok kérdés merülhet fel egy fejlesztői csoportban a kódellenőrzésekre hivatkozva. De még a kérdéseknél is rosszabbak az aggodalmak vagy a félelmek ("ha a kódomat ellenőrzik, a munkám tönkremegy!"). Először is azzal kezdjük, hogy meghatározzuk, mi a kódellenőrzés (kódellenőrzés).

A Code Review meghatározása

Kezdjük egy olyan forgatókönyvből, amelyben agilis keretek között dolgozunk, és a különböző lehetőségek között válasszuk a Scrum-ot. Ennek a posztnak nem célja, hogy elmélyüljön e módszertanok működésében. Bár lehetséges, hogy a jövőben többet fogok róluk beszélni, az Internet tele van velük kapcsolatos információkkal; Kifejezetten Javier Garzás blogját ajánlom.

Létre kell hozni egy kezdeti keretrendszert a szoftverfejlesztés megközelítésének megkereséséhez. A Scrumban a "fejlesztői egység" a felhasználói történet, az időegység pedig a sprint.

Képzeljük el, hogy egy 4 fejlesztőből álló csapatnak egy sprint alatt el kell osztania több felhasználói történet fejlesztését. Képzeljük el, hogy egy egyéni fejlesztőnek (nevezzük Luis-nak) hozzárendelik az X felhasználói történetet (például: "Adatmaradási réteg létrehozása").

A kódellenőrzés az a folyamat, amelynek során a csapat többi tagja együtt áttekinti Luis adott felhasználói történet megvalósítását, ötleteket adva a továbbfejlesztésére, esetleg átalakítására, esetleges hibák, architektúra hibák felfedezésére, a tesztek lefedettségének hiányára bizonyos esetekben, és egy sor egyéb felmerülő dolog.

Vonakodás ...

Legyünk közvetlenek: „bonyolult” profilok bővelkednek szakmánkban. Anélkül, hogy túl részletes részletekbe menne, bizonyos fejlesztők nem állnak kritikával szemben, még kevésbé módosíthatják az általuk elkészült és elméletileg működő kódot. Ha bármelyik olvasó ebbe a csoportba tartozik, a következő kérdéseket tenném fel neki:

  • Könnyen érthető a kódod másoknak, mint te?
  • Maga is képes lenne megérteni ezt a kódot pár év múlva?
  • A kód fejlesztésekor figyelembe vett-e MINDEN olyan tényezőt, amely befolyásolja vagy befolyásolhatja a rendszert?
  • Ha feltűnő hibát fedezett fel valaki más kódjában, nem gondolja, hogy szakemberként felelős a kijavításért? Ebben az esetben nem jobb az ilyen hibák mielőbbi észlelése?

A kód gyűjtése. A kód nem az enyém

Valójában, amikor üzleti projekten dolgozunk, programozunk egy kódot, amelyet a jövőben is jó néhány fejlesztő fejleszt, fejleszt és karbantart. Úgy gondolom, hogy egy ilyen területen nincs értelme a kód egyéni tulajdonjogáról beszélni, éppen ellenkezőleg.

A kód közös tulajdonjoga arra ösztönzi az agilis csapatot, hogy vállalja a felelősséget a teljes szállított rendszer működéséért. Nem szabad ujjal mutatni a tettesekre, ha valami nem működik, vagy azt sugallni, hogy "nem voltam ott" vagy "nem voltam ott". Azt mondanám, hogy valami ilyesmi nyilvánvaló ... de egyáltalán nem az.

A tapasztalatok azt tanították, hogy a kód felülvizsgálata a leghatékonyabb módszer az ideál elérésére.

A folyamat

A kódellenőrzés folyamata akkor kezdődik, amikor egy fejlesztő feltölti, vagy már feltöltötte a központi adattárba (feltételezzük, hogy Git vagy hasonló verzióvezérlő eszközt használunk) a hozzárendelt előzmények megvalósításához kapcsolódó összes változást. felhasználó.