新手剛?cè)腴T,能否簡單講一下code review是什麼?怎麼進(jìn)行code review?
謝謝
認(rèn)證高級(jí)PHP講師
Code Review
, 指代碼審閱;場景:新人或初級(jí)工程師,做了一些改動(dòng),但是需要在老程式設(shè)計(jì)師的確認(rèn)後再添加至主分支或特性分支;不可能讓老程式設(shè)計(jì)師坐你旁邊看程式碼嗎,這樣太浪費(fèi)時(shí)間了;
舉例:
A計(jì)畫有兩個(gè)分支master
分支和dev
分支;現(xiàn)在公司在開發(fā),所有人完成任務(wù),都應(yīng)該把分支合并至dev
分支;
張三在自己的本地開發(fā)環(huán)境,基於dev
分支,創(chuàng)建zhang_san
分支;花了三天,完成一個(gè)功能;
老程式設(shè)計(jì)師覺得張三是新手,不放心就這麼將他的改動(dòng)直接放進(jìn)dev
分支;就讓張三提個(gè)Merge
申請(qǐng),讓他dev
分支;就讓張三提個(gè)Merge
申請(qǐng),讓他Code Review
;
於是張三就將自己的zhang_san
分支提到遠(yuǎn)程服務(wù)器上,操作“New Merge Request”,發(fā)起一個(gè)Merge
請(qǐng)求,將zhang_san
合并至dev
分支,指定審閱人是老程式設(shè)計(jì)師;
老程式設(shè)計(jì)師找了個(gè)空閒時(shí)間,查看這個(gè)Merge Request
,覺得有點(diǎn)問題, 於是就提了一些建議(提的建議會(huì)自動(dòng)發(fā)送到相關(guān)人的關(guān)聯(lián)郵箱);
張三後來透過郵箱查看到老程式設(shè)計(jì)師提的建議,在自己本地zhang_san
進(jìn)行了修改,并git push
至遠(yuǎn)程zhang_san
分支;
這時(shí)的「Merge Request」會(huì)更新最新的Commit
;老程序員再看這次總的改動(dòng),發(fā)現(xiàn)不錯(cuò),挺好的,點(diǎn)擊確認(rèn)請(qǐng)求后,就成功將zhang_san
分支上的改動(dòng)合并至dev
分支啦;【到這就完成了Code Review】
張三通過郵件,知道自己的分支已經(jīng)被合併進(jìn)開發(fā)分支dev
很開心;可以刪除這個(gè)本地zhang_san
分支和遠(yuǎn)端zhang_san
分支,保持分支乾淨(jìng);也可以繼續(xù)在zhang_san
分支做新的開發(fā),提交新的Merge_Request
,進(jìn)行新一輪的dev
很開心;可以刪除這個(gè)本地zhang_san
分支和遠(yuǎn)程zhang_san
分支,保持分支干凈;也可以繼續(xù)在zhang_san
分支做新的開發(fā),提交新的Merge_Request
,進(jìn)行新一輪的Code Review
。
程式碼審查,一般大公司都需要code review。如果程式碼有問題或不符合規(guī)範(fàn),修改正確後再上線。