Ikona stránky Altamira

Prečo váš technický tím potrebuje revíziu kódu?

Nie ste si istí kvalitou kódu, ktorý ste dostali od svojho nezávislého vývojára? Alebo ste už nejaký čas neupgradovali svoju aplikáciu a chcete, aby za vás prácu urobil iný vývojársky tím? No v každom prípade sa budete musieť pozrieť pod pokrievku alebo urobiť Code Review, ako sa to nazýva pri vývoji softvéru. Ako sa hovorí: Potrebujete začať odznova? Začnite s preskúmaním kódu!

Okrem toho je dnes všetko kódované. Architektúra a návrhové dokumenty môžu byť vyjadrené v kóde. Možno používate nejaký softvér na riadenie projektov, aj tento softvér je kód. Jeden malý preklep niekde tam môže spôsobiť okamžité desaťnásobné zvýšenie nákladov.

Definícia preskúmania kódu

Kontrola kódu je systematické skúmanie zdrojového kódu softvéru. Tento proces sa vykonáva s cieľom zlepšiť celkovú kvalitu softvéru odstránením chýb v prehliadanom kóde.

Preskúmanie kódu zvyčajne vykonávajú tí, ktorí spravujú softvérovú databázu, s cieľom posúdiť navrhované zmeny v tejto databáze bez ohľadu na zdroj navrhovanej zmeny. To znamená, že by ste ho mali vykonávať bez ohľadu na to, kto udržiava váš softvér, a bez ohľadu na to, aké zmeny máte v úmysle zaviesť.

Ak po čase budete potrebovať na projekte dodatočnú prácu - určite musíte najprv vykonať revíziu kódu. Pokiaľ nechcete zničiť fungujúci systém.

Preskúmanie kódu a vzájomné hodnotenie

Možno ste už počuli o vzájomnom hodnotení kódu alebo jednoducho o peer review. A možno sa pýtate, či peer review a code review nie je to isté. Stručne povedané - áno. Ale je lepšie nenazývať ich peer review, pretože to kladie príliš veľký dôraz na peer, ktorý je recenzovaný, a nedostatočný dôraz na kód. Pretože v konečnom dôsledku recenzujeme kód, nie osobu, ktorá ho vytvára alebo recenzuje.

Všeobecné podmienky

V tomto článku, ako aj v iných zdrojoch, sa stretnete s týmito pojmami.

  • Zmena - individuálna jednotka práce, ktorá mení to, čo existuje.
  • Odoslanie - súbor zmien, bez ohľadu na to, či ide o malé alebo veľké zmeny.
  • Pull - získanie časti kódu/odoslania na preskúmanie.
  • Odosielateľ - osoba, ktorá podáva návrh.
  • Recenzent - ľudia, ktorí hodnotia predložené dokumenty.
  • Anotácia - poznámky alebo hodnotenie udelené podaniu.
  • LOC - Riadok kódu. Termín často používaný na vyjadrenie množstva práce potrebnej na vykonanie.

Typy preskúmania kódu

Karl Wiegers navrhuje takúto kategorizáciu bežných foriem kontroly kódu na spektre formálnosti. Táto tabuľka by vám tiež mohla poskytnúť usmernenie pri výbere vhodnej techniky preskúmania.

Ak potrebujete, aby iná vývojárska spoločnosť vykonala kontrolu, mali by ste sa prikloniť k formálnym typom kontrol a tímových preskúmaní. Váš vývojový tím pravdepodobne používa metódy prechádzky, párového programovania alebo odovzdávania v závislosti od organizácie práce na projekte.

Zmena vývojového tímu: Preskúmanie kódu by mal vykonať nový tím PRED prevzatím projektu. Nie uprostred alebo po podpise zmluvy.

Na čo sa zamerať?

  • Algoritmická zložitosť.
  • Spracovanie výnimiek a chýb.
  • Výnimky, triedy a premenné.
  • Dlhé štýly a metódy.
  • Jeden záväzok = jeden účel.
  • Dostatočnosť protokolovania.
  • Potvrdenie štýlu.
  • Čitateľnosť.

Nástroje na preskúmanie

Preskúmanie kódu sa môže vykonávať ústne počas párového programovania alebo preskúmaním kódu na webových stránkach, ako je GitHub. Pre naše projekty interne používame GitHub a jeho systém submit/pull je hviezdnym príkladom dobrého systému kontroly kódu.

Aký je účel kontroly kódu?

Hlavným cieľom revízie kódu je nájsť chyby skôr, ako sa dostanú do udržiavanej základne kódu. Jej hlavnou funkciou je teda obmedziť chyby, najlepšie skôr, ako sa objavia v živej verzii softvéru.

Okrem toho sú tu dva ľudské problémy, ktoré revízia kódu tiež rieši:

Synchronizácia tímu - vám umožní uistiť sa, že všetci členovia tímu majú dobrú predstavu o tom, kam architektúra smeruje. Čo má projekt z dlhodobého hľadiska robiť. Ak váš tím túto víziu nemá, nakoniec budete vynakladať ďalšie zdroje na doplnenia, prestavby a rekompilácie.

Z tohto pohľadu je kontrola kódu účinným mechanizmom, ktorý umožňuje vývoj a znižuje plytvanie. Preskúmanie kódu skracuje cyklus spätnej väzby, takže ľudia môžu udržiavať svoj mentálny model v synchronizácii s architektúrou a implementáciou.

Architektúra aplikácie Adit - revízia kódu môže umožniť vývojárom priebežne kontrolovať zmeny v infraštruktúre, a tak dochádza k auditu a diskusii o každom rozhodnutí. Umožňuje tak komunikáciu medzi vývojármi a architektmi alebo vlastníkmi projektu.

Výsledkom je, že váš projekt je štíhlejší a prispôsobivejší zmenám, ktoré sa vyskytujú mimo "sveta vývoja". O zmenách a vylepšeniach obchodnej logiky sa môže diskutovať obojsmerne a môžu sa vykonať v kratšom čase.

Znižuje množstvo staršieho kódu - Preskúmanie kódu nám umožňuje získať poznatky o tom, ako sa veci v priebehu času menili a ako vznikli. Zavedenie praxe neustáleho preskúmavania kódu vytvára určitý druh kmeňových znalostí.

Revízia kódu zabezpečuje udržiavateľnosť - Núti vývojárov, aby zmeny komentovali, vytvárali nadmernú dokumentáciu a umožnili v nej vyhľadávať. Takto nový vývojár na projekte strávi menej času prehlbovaním kódu, ktorý napísal niekto iný. Navyše sa váš projekt stane odolnejším voči fluktuácii zamestnancov.

Nedostatočné preskúmanie kódu má nakoniec za následok stratu príležitostí, ušlé príjmy, zhoršenie bezpečnosti a zvýšené náklady na údržbu.

Najlepšia prax revízie kódu

  • Anotácia zdrojového kódu pred preskúmaním.
  • Veľkosť revízie by nemala naraz presiahnuť 400 riadkov kódu (LOC).
  • Recenzie sú neformálne a krátke. Spoločnosť Cisco Systems zistila, že v počte chýb zistených pri formalizovaných a neformálnych partnerských preskúmaniach bol zanedbateľný rozdiel. Neformálne hodnotenia sú však rýchlejšie.
  • Umožniť vytváranie nových pracovných položiek. To je to, čo znamená žiadosť o funkciu GitHub. Umožniť pokrok, nielen opravy.
  • Nedovoľte, aby recenzie zbytočne spomaľovali vývoj. Ak zistíte, že sa spomaľujú - nepíšte žiadny nový kód, kým nebudú predchádzajúce revízie dokončené alebo aspoň stabilné.

Spodná hranica

Kontrola kódu pomáha vývojárom a majiteľom aplikácií odpovedať na dve základné otázky:

  • Funguje to?
  • Funguje správne?

Na týchto veciach nám záleží najviac. Kontrola kódu pomáha tieto ciele dosiahnuť.

Ukončenie mobilnej verzie