一、什么是 Code Review?
顧名思義耗跛,Code Review就是代碼再次查看評審。那么一個成熟的開發(fā)團隊為什么要做 Code Review?對于經驗不足或者剛開始一份新工作的人來說,通過 Code Review 可以得到更資深的人幫助荷逞,更快熟悉現(xiàn)有的規(guī)范和架構道伟,在新的環(huán)境和團隊中快速提升迹缀。對于資深的工程師來說,讓其他同事 review 代碼蜜徽,有利于在團隊中傳播經驗祝懂、知識和好的實踐。
二拘鞋、我們團隊期望實施 Code Review后可以達到的效果
1砚蓬、短期內迅速提高代碼質量
大家能在 Review 的過程中學習到其他同事優(yōu)秀的編碼方式和習慣。
2盆色、團隊成員對項目的熟悉程度會比較均衡灰蛙。
同事通過參與Code Review能很快熟悉團隊的規(guī)范。
3隔躲、改善團隊的氛圍
Review的過程中會需要非常多的溝通摩梧,多溝通能拉近團隊成員的距離。
三宣旱、Code Review 主要檢查的點
本次以圖像測試平臺為例:
1仅父、完整性檢查
代碼是否完全實現(xiàn)了由管理員創(chuàng)建項目、到標注員領包浑吟、標注笙纤、打分的完整流程。
代碼是否已創(chuàng)建了需要的數據庫组力,包括正確的初始化數據
代碼中是否存在任何沒有定義或沒有引用到的變量省容、常數或數據類型
2、一致性檢查
代碼的邏輯是否符合設計文檔
代碼中使用的格式燎字、符號腥椒、結構等風格是否保持一致
3阿宅、正確性檢查
所有的變量都被正確定義和使用
所有的注釋都是準確的
所有的程序調用都使用了正確的參數個數
4、可修改性檢查
代碼涉及到的常量是否易于修改(如項目配置寞酿、項目類型家夺、項目的分類及難度調整)
5、可重用性
原則:同一代碼不應該重復兩次以上伐弹,考慮可重用的服務拉馋,功能和組件,考慮通用函數和類
6惨好、可擴展性
本次上線的矩形標注平臺煌茴,下次增加多邊形標注功能需要變動哪些模塊?是否留有擴展功能
四日川、Code Review 的步驟
1蔓腐、周四早晨 10 點,由趙騏和焦世豪講解自己負責的圖像測試平臺的代碼和相關邏輯龄句;
2回论、參與者在此過程中可以隨時提出自己的疑問,同時積極發(fā)現(xiàn)隱藏的bug分歇;由趙騏對這些bug記錄在案傀蓉。
3、趙騏和焦世豪根據大家給出的修改意見职抡,記錄下問題及修改意見葬燎,有不清楚的地方可積極向意見提出者提出。
4缚甩、趙騏把Code Review中發(fā)現(xiàn)的有價值的問題更新到"代碼審核規(guī)范"的文檔中谱净。
五、備注
要經常性的進行 Code Review擅威,因為程序員代碼寫得時候越長壕探,程序員就會在代碼中加入越來越多的個人的東西。
人數不要多郊丛,3-5 人小型會議最佳浩蓉。
Code Review 不要太正式,Code Review不是批斗大會宾袜,輕松的氛圍能激發(fā)大家的積極性。