Revizija koda · maj 2026. · 8 min čitanja
Šta revizija koda aplikacije zaista proverava
Šest oblasti koje prava revizija pokriva, kada je naručiti i šta izveštaj treba da vam kaže.
Autor: Marko Kukurekovic, osnivač i vodeći React Native developer u MakeFast-u

Revizija koda nije lov na greške. Greške su problemi za koje već znate. Revizija je za one za koje ne znate: strukturne odluke koje dobro funkcionišu pri vašoj trenutnoj veličini, a prestaju da funkcionišu pri sledećoj.
Evo šta ozbiljna revizija obuhvata, kada je vredi naručiti i šta treba da očekujete da dobijete.
Kada vredi uraditi reviziju
U većini slučajeva vam ne treba. Postoje četiri situacije u kojima je njeno preskakanje lažna ušteda.
- Preuzimate bazu koda - od agencije, spoljnog saradnika ili developera koji odlazi - i treba da znate šta zaista posedujete.
- Nešto nije u redu i niko ne može da kaže zašto. Povremeni padovi, spori ekrani pod opterećenjem, ponašanje koje se razlikuje od uređaja do uređaja.
- Sledi dubinska provera. Investitor, kupac ili veliki poslovni klijent upravo treba da pogleda vašu tehničku postavku.
- Spremate se da značajno uložite u nove funkcije i želite da znate da li će ih temelj podneti.
Zajedničko im je to da cena greške uskoro raste. Revizija je najjeftinija upravo onda kada je najmanje hitna.
Šest oblasti koje prava revizija pokriva
1. Bezbednost i rukovanje podacima
Gde se čuvaju pristupni podaci i da li je neki od njih u repozitorijumu? Kako se tokeni čuvaju na uređaju i šta se dešava kada neki istekne? Da li se autorizacija sprovodi na serveru ili je samo sakrivena u interfejsu? Da li se nešto osetljivo beleži u logovima?
Najčešći ozbiljan nalaz nije egzotična ranjivost. To je API koji veruje klijentu - endpointi koji vraćaju podatke koje prijavljeni korisnik ne bi smeo da vidi, jer se provera ikada dešavala samo na ekranu.
2. Arhitektura i struktura
Da li kod ima oblik koji neko nov može da nauči, ili svaka izmena zahteva poznavanje celine? Da li je poslovna logika odvojena od interfejsa, ili je rasuta po kodu prikaza gde ne može da se testira ni ponovo upotrebi?
Praktično pitanje na koje revizor odgovara: kada biste sutra zaposlili dva inženjera, koliko bi im trebalo da bezbedno isporučuju? Kada je odgovor meseci, to je nalaz, čak i ako trenutno ništa nije pokvareno.
3. Zavisnosti
Svaki paket treće strane je opklada na tuđe održavanje. Revizija proverava koji se ne održavaju, koji su vezani za verzije sa poznatim ranjivostima i koji obavljaju nosivi posao koji bi bilo bolno zameniti.
Posebno vredi istaći: zavisnosti od kojih jedan održavalac deli od napuštanja, a nalaze se na kritičnoj putanji kao što su plaćanja ili autentifikacija.
4. Performanse u stvarnim uslovima
Ne „da li je brza na novom telefonu na kancelarijskom WiFi-ju". Gde su upiti koji postaju sporiji kako podaci rastu? Šta se dešava na Android uređaju srednje klase sa lošom vezom? Ima li curenja memorije koja se pojavljuju tek posle dvadeset minuta korišćenja?
Problemi sa performansama su obično arhitektonski. Ekran koji preuzima sve i filtrira na uređaju radi sa sto zapisa, a neupotrebljiv je sa pedeset hiljada.
5. Testovi, buildovi i proces izdavanja
Postoji li skup testova, da li se pokreće automatski i da li ga iko gleda? Može li nov inženjer da izbuilduje i objavi aplikaciju sa čistog računara po pisanim uputstvima, ili to radi samo na jednom laptopu?
Proces buildovanja koji postoji samo u glavi jedne osobe pravi je poslovni rizik, i jedan od nalaza na koje se najlakše reaguje.
6. Usklađenost sa prodavnicama i platformama
Dozvole koje se traže, a nikada ne koriste, izjave o privatnosti koje se ne poklapaju sa onim što aplikacija zaista prikuplja, zastareli API-ji sa rokom, tokovi za brisanje naloga koji nedostaju. To su nalazi koji se pretvaraju u odbijeno izdanje u najgorem mogućem trenutku.
Kako izveštaj treba da izgleda
Korisna revizija završava se odlukama, a ne spiskom. Svaki nalaz treba da nosi tri stvari: šta je, koliko vas košta ako se ništa ne promeni i šta podrazumeva njegovo popravljanje.
| Ozbiljnost | Šta znači | Šta uraditi |
|---|---|---|
| Kritično | Aktivno izlaže podatke, gubi korisnike ili blokira izdanje | Popraviti pre isporuke bilo čega drugog |
| Visoko | Izazvaće ozbiljan problem pri sledećem koraku rasta ili prekretnici | Namerno zakazati, u roku od nekoliko nedelja |
| Srednje | Usporava tim i tiho se nagomilava | Uklopiti u redovan rad na funkcijama |
| Nisko | Vredi znati, ne vredi zbog toga stati | Zabeležiti i nastaviti |
Budite skeptični prema izveštaju koji sve ocenjuje kao kritično. To obično znači da je nalaze generisao alat, a ne da ih je procenio inženjer, i to izveštaj čini beskorisnim za određivanje prioriteta - što je bila cela poenta.
Treba da očekujete i iskren odgovor na neprijatno pitanje: da li se ovo isplati popravljati, ili bi ponovni razvoj slabog dela koštao manje od njegovog održavanja? Ponekad je odgovor ponovni razvoj, a izveštaj koji to neće da kaže ne služi vama.
Ako želite procenu baze koda koju ste preuzeli ili zbog koje ste zabrinuti, upravo to radi naša usluga revizije i preuzimanja.
Česta pitanja
Koliko traje revizija koda aplikacije?
Za tipičnu mobilnu aplikaciju, fokusirana revizija je pitanje dana, a ne nedelja - dovoljno vremena da se aplikacija izbuilduje i pokrene, pročitaju kritične putanje, provere zavisnosti i zapišu nalazi. Veoma velike ili neobično zapetljane baze koda traju duže, a dobar revizor će vam to reći posle prvog pregleda umesto da se obaveže naslepo.
Šta vam je potrebno da biste uradili reviziju moje aplikacije?
Pristup repozitorijumu za čitanje, postojeća podešavanja za build i okruženja, i idealno mogućnost da se aplikacija pokrene nad okruženjem koje nije produkciono. Pristup prijavljivanju padova i analitici pomaže, jer pokazuje šta ne radi pravim korisnicima, a ne šta na papiru izgleda krhko.
Da li je revizija koda isto što i bezbednosna revizija?
Nije. Bezbednost je jedan deo revizije koda, uz arhitekturu, zavisnosti, performanse, testove i usklađenost sa platformama. Namenska bezbednosna revizija ili test probijanja ide mnogo dublje u modelovanje pretnji i aktivnu zloupotrebu. Ako vam je glavna briga regulatorna ili konkretan zahtev usklađenosti, verovatno vam treba oboje.
Da li treba uraditi reviziju aplikacije pre kupovine ili ulaganja u nju?
Treba, i to je jedan od trenutaka kada vredi najviše. Stvari koje menjaju procenu vrednosti - arhitektura koja se ne može održavati, zavisnost od jednog inženjera koji odlazi, neprijavljeno rukovanje podacima - ne vide se na demonstraciji. Revizija pre zaključenja posla znatno je jeftinija nego da ih otkrijete posle.
Šta ako revizija kaže da aplikaciju treba ponovo napraviti?
To je legitiman ishod, a dobar izveštaj će pokazati obrazloženje, a ne samo izneti tvrdnju. Obično je iskren odgovor delimičan: određeni podsistem se ne isplati popravljati, dok je ostatak u redu. Preporuka za ponovni razvoj uvek treba da dođe uz cenu održavanja trenutne verzije, kako biste mogli da uporedite.
Još tekstova
Pogledajte sveImate projekat na umu?
Recite nam šta pravite, a mi ćemo vam se javiti sa obimom, rokom i cenom.


