
Code Review(代碼審查)是保證項目中代碼質(zhì)量非常重要的一個環(huán)節(jié),其主要工作是:
1、發(fā)現(xiàn)代碼中的bug;
2、從代碼的易維護性、可擴展性角度考察代碼的質(zhì)量,提出修改建議。 1、代碼中的bug主要會出現(xiàn)在下列兩個地方:
(1) 與商業(yè)邏輯無關(guān)的bug。
比如,系統(tǒng)中打開的流/文件/連接等沒有及時關(guān)閉;或是存在thread safe問題,或是存在性能低下問題等,這類問題對有經(jīng)驗的開發(fā)人員是比較容易發(fā)現(xiàn)的。
2、與商業(yè)邏輯相關(guān)的bug。
這類bug是非常隱蔽的,如果有對產(chǎn)品不熟悉的人參與該產(chǎn)品的項目開發(fā),容易出現(xiàn)這類的bug。為了避免這類bug的出現(xiàn),我們除了在Use Case和Test Case中詳細描述以正確指導(dǎo)開發(fā)人員并在測試時能及時發(fā)現(xiàn)它之外,Code Review也是不可缺少的保證環(huán)節(jié)。
我們希望代碼的審核者對產(chǎn)品非常熟悉。
3、什么樣的人承擔代碼審核者Code Reviewer?
(1)、比較熟悉相關(guān)商業(yè)邏輯。
(2)、有豐富的編程經(jīng)驗。
兩者缺一不可。
4、代碼Code Review的步驟,這些是我在平時工作中的經(jīng)驗總結(jié),目前也是按照這個步驟在做。
(1)、代碼編寫者和代碼審核者坐在一起,由代碼編寫者按照UC依次講解自己負責的代碼和相關(guān)邏輯,從Web層->DAO層;
(2)、代碼審核者在此過程中可以隨時提出自己的疑問,同時積極發(fā)現(xiàn)隱藏的bug;對這些bug記錄在案。
(3)、代碼講解完畢后,代碼審核者給自己安排幾個小時再對代碼審核一遍。
代碼需要一行一行靜下心看。同時代碼又要全面的看,以確保代碼整體上設(shè)計優(yōu)良。
(4)、代碼審核者根據(jù)審核的結(jié)果編寫“代碼審核報告”,“審核報告”中記錄發(fā)現(xiàn)的問題及修改建議,然后把“審核報告”發(fā)送給相關(guān)人員。
(5)、代碼編寫者根據(jù)“代碼審核報告”給出的修改意見,修改好代碼,有不清楚的地方可積極向代碼審核者提出。
(6)、代碼編寫者 bug fix完畢之后給出反饋。
(7)、代碼審核者把Code Review中發(fā)現(xiàn)的有價值的問題更新到"代碼審核規(guī)范"的文檔中,對于特別值得提醒的問題可群發(fā)email給所有技術(shù)人員。
5、責任:
代碼編寫者,代碼審核者共同對代碼的質(zhì)量承擔責任。這樣才能保證Code Review不是走過場,其中代碼編寫者承擔主要責任,代碼審核者承擔次要責任。
6、Code Review必備的文檔:
“代碼審核規(guī)范”文檔:記錄代碼應(yīng)該遵循的標準。代碼審核者根據(jù)這些標準來Code Review代碼,同時在Code Review過程中不斷完善該文檔。
CIO頻道人物視窗
CIO頻道方案案例庫
大數(shù)據(jù)建設(shè)方案案例庫
電子政務(wù)建設(shè)方案案例庫
互聯(lián)集成系統(tǒng)構(gòu)建方案案例庫
商務(wù)智能建設(shè)方案案例庫
系統(tǒng)集成類軟件信息研發(fā)企業(yè)名錄