Codereivew是開發團隊中經常采用的,為提高代碼質量、提高編碼規范的一種手段。針對實際工作組織review過程中的一些想法、見解,作一下總結。
關于CodeReview的幾點作用:
1、提高團隊的編碼規范,培養良好的coding風格
旨在提高整個團隊的編碼規范程度,統一編碼風格。通過每次的codereivew,發現團隊成員在實際開發中的一些細節問題,如不良的編碼習慣、錯誤的調用方式等。通過多次的發現、解決問題,使大家都養成良好的編碼習慣。review的內容一般包括:
1)、異常、日志的處理;
2)、常量的定義及使用;
3)、字符串處理、BigDecimal.ZERO等;
4)、代碼的封裝,提高重用性;
5)、代碼注釋情況;
6)、javascript文件的抽取情況;
2、檢查業務邏輯
對項目實現的功能邏輯進行一次reivew,結合眾人發散思維,檢查業務邏輯是否有盲點或錯誤。通常需要參與review的成員能夠靜下心來深入地認真分析,比較耗費時間。
3、分享和培訓
每個項目的工作安排相對來說都是比較緊湊的,所以每個團隊成員在完成自己的開發任務完,沒有太多的時間去了解或熟悉其他成員的功能實現。但對于敏捷開發來說,每個功能模塊的開發者并不是固定的,根據項目需要,很有可能由非原開發人員來完成增值功能或重構,所以codereivew是一次不錯的培訓及分享機會,特別是對功能相對復雜的需求實現。可以讓團隊成員了解或熟悉基本的設計思想和相關的類定義,確保在今后接手這一塊工作時,可以更快的上手或找到最到最合適的人去了解更深層的邏輯。
關于reivew的方式:
1、集體review;
項目成員一起參與codereive,成本比較大,一般一個項目組織一次。比較適合開發經驗分享,以及新功能的實現介紹,利于其他成員了解、熟悉實現者的設計思路及代碼結構,在后續項目接手這些新功能時,更加從容。
2、TM組織若干開發經驗豐富的一起review;
3、分組、交叉review;
具有較好的靈活性,根據情況隨時找相關人員一起對已實現的代碼進行review,及時發現過程中問題并予以修正。比較適合分組\抱團開發,以2-3人為單位,對具體的功能模塊負責,一起分析、設計、編碼,每位成員對于功能邏輯都比較邏輯,對業務邏輯reivew有比較好的效果。
實際工作中,根據實際情況靈活選擇合適的review方式,不應拘于某種形式。review過程,應有明確的目的,具有針對性,而不是停留于表面,避免逐漸成為一種負擔,流于形式。另外,應對每次review結果,整理出一份問題列表,進行分析和總結,避免相同問題的重復出現。同時,也應按排相關人員跟進并解決問題。總之,通過codereivew這一手段,盡可能的在提交測試之前去發現代碼中存在的一些實際問題,從項目經歷中得到成長。