Rebyu sa code

Ang **rebyu sa code** (usahay tawagon nga peer review ) usa ka pamaagi sa pagpaniguro sa kalidad sa software, diin ang usa o daghang pang mga tawo mosusi sa source code sa usa ka computer program — bisan pagkahuman sa pagpatuman o samtang nagpadayon pa ang proseso sa development. Ang mga tawo nga nagbuhat sa pagsusi, gawas sa tagsuwat, gitawag nga “reviewers.” Kinahanglan nga adunay usa nga reviewer nga gawas sa tagsulat sa code.

Ang pagrebyu sa code lahi sa susamang mga teknik sa software quality assurance sama sa static code analysis, self-checks, testing, ug pair programming . Ang static analysis nagsalig kasagaran sa mga awtomatik nga hiramenta, ang self-checks naglabot lamang sa tagsuwat, ang testing nanginahanglan ug execution sa code, ug ang pair programming kay ginapadayun nga buhaton atol sa development imbes nga bulag nga lakang.

## Tumong
Bisan pa nga ang direkta nga pagka-kaplag sa mga problema sa kalidad kanunay nga panguna nga katuyoan, ang mga pagrebyu sa code sagad nga gihimo aron makab-ot ang kombinasyon sa mga katuyoang: 

* *Paglambo sa kalidad sa code* Palamboon ang kalidad sa internal nga code ug kamaayong pagmintinar pinaagi sa mas maayong pagkabasa, pagkasinama, ug pagkasabut
* *Pag-ila sa mga depekto*Palamboon ang kalidad bahin sa mga eksternal nga aspeto, labi na ang pagkahusto, apan sa pagpangita pud sa mga isyu sama sa mga problema sa pasundayag, mga kahuyangan sa seguridad, ug gi-inject nga malware
* *Pagbalhin sa Nakat-onan/Nahibaw-an*Pagpaambit sa nahibaw-an sa codebase, mga pamaagi sa solusyon, ug kalidad nga gilauman, ngato sa mga tigrebyu ug sa tagsuwat
* *Pagdungag sa pagbati sa panag-uban nga responsibilidad*Pagdungag sa pagbati sa kolektibong pagpanag-iya ug panaghiusa
* *Pagpangita sa mas maayo nga mga solusyon*Paghimo og mga ideya alang sa bag-o ug mas maayo nga mga solusyon ug ideya nga lapas sa piho nga kasamtangang code
* *Pagsunod sa mga giya sa QA, mga sumbanan nga ISO/IEC*Ang pagrebyu sa code kay obligasyon sa pipila ka konteksto, sama sa air traffic software ug safety-critical software

## Mga matang sa rebyu
Adunay ubay-ubay nga mga proseso sa pagrebyu sa code, ug adunay dugang nga mga matang nga gideklarar sa IEEE 1028.

* Pagrebyu sa pagdumala
* Teknikal nga mga pagsusi
* Mga inspeksyon
* Mga walk-through
* Mga pag-audit

### Inspeksyon (pormal)
Sa kasaysayan, ang unang proseso sa pagrebyu sa code nga gitun-an ug gidetalyadong gihulagway kay gitawag nga "Inspeksyon" matud sa imbentor niini nga si Michael Fagan. Ang Fagan Inspection usa ka pormal nga proseso nga naglakip sa usa ka mabinantayon ug madetalyadong pagpatuman nga naglakip sa daghang sumasalmot ug mga hugna. Sa pormal nga mga pagrebyu sa code, ang mga software developers motambong sa sunodsunod nga mga miting aron susihon ang code matag linya, nga kasagaran naggamit sa giimprinta nga mga kopya. Gipakita sa panukiduki nga ang pormal nga pag-inspeksyon labi ka hingpit ug epektibo sa pag-ila sa mga depekto.

### Kanunay nga pagrebyu sa code base sa mga kausaban (Walk-throughs)
Kasagaran nga mugamit ang mga software development teams og mas gaan nga proseso sa pagrebyu, diin ang sakop sa matag rebyu kay ngadto sa mga kausaban sa codebase nga gihimo pinaagi sa usa ka ticket, user story, commit, o uban pang yunit sa trabaho. Dugang pa, adunay mga lagda o kasabutan nga nagkonekta sa trabahong rebyu ngadto sa development workflow pinaagi sa mga kasabutan sama sa obligadong pagrebyu sa tanang ticket, kasagaran isip kabahin sa usa ka pull request, imbes nga magplano pa og tagsa-tagsa nga rebyu. Ang ing-ani nga proseso gitawag og "regular, change-based code review". Adunay daghang palain sa niini nga batakang proseso.

Sa usa ka survey niadtong 2017 nga naglabot ug 240 ka mga development teams nakit-an nga 90% sa mga team nga naggamit sa code review misunod sa change-based nga proseso, nga ang 60% niini partikular na nigamit sa regular change-based review. Ang mga dagkong korporasyon sa software nga naila nga naggamit sa changed-based code review naglakip sa Microsoft, Google, ug Facebook.

## Kabinantayon ug pagka-epektibo
Ang nagpadayon nga panukiduki ni Capers Jones nga nag-analisar sa kapin sa 12,000 ka software development projects nakit-an nga ang mga pormal nga inspeksyon naay rate sa pagpangita sa tinago nga mga depekto nga 60-65%, samtang ang dili pormal nga inspeksyon nakamatikod ug mas gamay pa sa 50% nga mga depekto. Ang rate sa pagpangita sa tinago nga mga depekto alang sa kadaghanan nga mga porma sa pag-testing kay 30%.  Naay usa ka code review case study nga gipatik sa libro nga *Best Kept Secrets of Peer Code Review* misupak sa pagtuon sa Capers Jones, nga nakakaplag nga ang mga lightweight nga mga review makadiskobre sa daghang mga bugs sama sa pormal nga mga pagrebyu samtang mas kabinantayon sa mga termino sa gasto ug salapi.

Gipakita sa mga pagtuon nga hangtod sa 75% sa mga komentaryo sa pagrebyu sa code makaapekto sa evolvability ug maintainability sa software imbes nga sa functionality, nga nagsugyot nga ang mga pagrebyu sa code usa ka kinamaayuhan nga hiramenta alang sa mga kompanya sa software nga adunay taas nga mga life cycle sa produkto o sistema. Busa, minus 15% sa mga isyu nga gihisgutan sa mga code reviews direktang nalangkit sa mga bug.

### Mga giya
Gipakita sa panukiduki nga ang pagkaepektibo sa pagrebyu adunay kalabotan sa katulin sa rebyu. Ang labing maayo nga mga rate sa pagrerebyu sa code musakop gikan sa 200 hangtod 400 nga mga linya sa code matag oras. Ang pag-inspeksyon ug pagrebyu sa labaw pa sa pipila ka gatos ka linya sa code kada oras alang sa kritikal nga software (sama sa safety critical embedded software ) mahimong paspas ra kaayo aron makakita og mga sayop.

### Hiramentang makasuporta
Ang software sa static code analysis nagtabang sa mga tigrebyu pinaagi sa awtomatikong pagsusi sa source code alang sa nahibal-an nga mga kahuyangan ug mga pattern sa depekto, labi na alang sa dagko nga mga tipik sa code. Usa ka pagtuon niadtong 2012 gibuhat sa VDC Research nagtaho nga ang 17.6% sa mga embedded software engineer nga gi-survey kasamtangang naggamit sa automated nga mga hiramenta aron pagsuporta sa peer code review ug 23.7% nagplano nga gamiton kini sulod sa duha ka tuig.

## Tan-awa pud

* Committer
* Software review
* Software quality
* Best coding practices
* List of software development philosophies

## Mga dugtong

* Lima ka Code Review Antipatterns 
* Java Magazine, Labing Maayo sa 2020 

## Mga tinubdan