To je to što me zanima!

'Code review' igra ključnu ulogu u modernom razvoju softvera

Java Developer Martin Blažević pojašnjava kako izgleda proces 'code reviwa' u Leapwiseu, zagrebačkoj softverskoj kompaniji koja razvija enterprise rješenja u području telekomunikacija, kibernetičke sigurnosti i interneta stvari (IoT)
Vidi originalni članak

Čist i održiv kod postulat je za stvaranje dobrog softvera. Pregledavanje koda, tzv. code review, ključno je u tom procesu. Java Developer Martin Blažević pojašnjava kako taj proces izgleda u Leapwiseu, zagrebačkoj softverskoj kompaniji koja razvija enterprise rješenja u području telekomunikacija, kibernetičke sigurnosti i interneta stvari (IoT).

Programski je kôd poput knjige koju stvara više autora, svaki sa svojim stilom pisanja, idejama, obrascima slaganja jezičnih elemenata, ali i razinom stručnosti. Osim vještog oblikovanja rečenica, svaki od koautora treba paziti na njihovu gramatičku ispravnosti, kontekst i značenje riječi, pravopis, ali i mnogo više od toga. Baš kao što profesionalni tekstovi prolaze kroz lektorsku provjeru, i programski kôd zahtjeva pregled i doradu prije nego što je spreman za upotrebu.

Svaka nova linija dodana u program koji već sadrži stotine tisuća ili milijune linija kôda povećava kompleksnost cjelokupnog rješenja. Rastom kompleksnosti, otežava se daljnji razvoj, održavanje te ispravljanje grešaka, a samim time rastu i troškovi rada takvog sustava.

Pregledavanje kôda, stoga, igra ključnu ulogu u modernom razvoju softvera.

Zašto u Leapwiseu kod pregledavamo na tjednoj bazi?

Pouzdaniji i stabilniji proizvod

Tijekom pregleda kôda, pažnja se posvećuje različitim aspektima, uključujući zadovoljavanje poslovnih zahtjeva, provjeru dizajna, identifikaciju logičkih grešaka i uklanjanje nepotrebne složenosti. Nove funkcionalnosti moraju biti pokrivene automatiziranim testovima te biti u skladu s propisanim smjernicama, kao što su veličina funkcija, imenovanje varijabli, komentari u kôdu, korištenje oblikovnih obrazaca, dokumentacija i slično. Na taj način stvaramo kvalitetan softver, odnosno pouzdaniji i stabilniji proizvod.

Brža isporuka novih funkcionalnosti

Implementacija novih ili proširenje postojećih funkcionalnosti jednostavnije je ako je softver dobro strukturiran. Redovito održavanje i pregledavanje kôda pomaže u održavanju unutarnjeg dizajna sustava, što pozitivno utječe na produktivnost tima, a u konačnici i zadovoljstvo klijenata.

Pravovremena identifikacija problema i dugoročno smanjenje troškova

Sistematizirano proučavanje kôda pomaže i u identifikaciji problema već u fazi implementacije, smanjujući potrebu za kasnijim ispravcima i ponavljanjem svih koraka razvojnog procesa (dizajn, implementacija, testiranje i integracija). Osim toga, redovito pregledavanje kôda podiže kvalitetu isporučenog softvera i dugoročno smanjuje troškove održavanja.

Dijeljenje znanja

Širenje domenskog, ali i tehničkog znanja unutar razvojnog tima, još je jedno od prednosti takvog načina rada. Iskusniji članovi tima mogu prenijeti svoje znanje i dijeliti najbolje metode rada. Svi članovi svakodnevno imaju priliku istraživati i usvajati tuđi kôd i učiti jedni od drugih, čime se ostvaruje razumijevanje više aspekata velikog softverskog sustava.

U pozadini sistematičnog stvaranja softvera stoji sistematičan pristup razvijanju ljudi

U Leapwiseu naglasak stavljamo na stvaranje okoline u kojoj se zaposlenici kontinuirano razvijaju i unaprjeđuju svoje vještine. Posebnu pažnju stoga posvećujemo dijeljenju znanja unutar tvrtke.

Kako se korištene tehnologije donekle razlikuju od tima do tima, redovito održavamo edukacije i pregledavanje kôda na razini cijelog razvojnog odjela kako bismo dodatno podržali ovaj proces učenja, transparentnosti i međusobne razmjene informacija. Uz to, imamo jasno definirane interne smjernice za backend i frontend timove, koje nam služe kao pisani orijentir svih najboljih praksi i rješenja koja smo dosad usvojili. Tako svaka osoba u timu, uz usmenu, uvijek ima i pisanu pomoć u radu.

Iako je u konačnici bitna kvaliteta isporučenog proizvoda, jednako je važno pružanje platforme za rast i edukaciju zaposlenika te podrška da ostvare svoj maksimum i donose stručne i savjesne odluke u poslovanju.

Idi na 24sata

Komentari 1

  • polaurenekulture 02.11.2023.

    Na tjednoj bazi pregledavate kod??? Kod se mora pregledat na svakom pull requestu, svakom developeru od strane bar dvoje developera.

Komentiraj...
Vidi sve komentare