做代碼審查 CodeReview 有哪些關注點?
代碼審查(Code Review)是爲了保證代碼質量,控制代碼的錯誤和提升開發團隊的技能而進行的一種活動。
功能方面
-
修改範圍:我在 CR 時第一關注點是修改範圍與需求是否一致,如果修改範圍擴大,會造成變更不可控,是極爲危險的。
-
功能實現:代碼是否滿足功能需求或修復了相應的 Bug,代碼實現的邏輯是否正確?這個會通過在方案評審時就做好準備。設計方案評審需要 3 人以上有 CR 權限同學參加,最後 CR 人至少是這三人中的兩個。
-
自我檢查機制:比如與第三方交互前後要打日誌,是否需要配套相關的數據一致性措施。當然,這些在設計階段一般會定好。
-
錯誤和異常處理:檢查是否有錯誤處理和異常處理機制,以防代碼在遇到錯誤時崩潰。
可靠性方面
-
性能優化: 檢查代碼是否有可能影響性能的地方,如是否有不必要的循環,是否使用了正確的數據結構、算法時間複雜度和空間複雜度是否達標。
-
安全性: 檢查是否有可能導致安全問題的地方,如 SQL 注入、跨站腳本(XSS)問題等。對於敏感數據,要確保其在使用、傳輸和存儲過程中的安全性。
-
可測試性:檢查代碼是否容易進行單元測試,是否有足夠的測試覆蓋率。這個一般會通過 CI/CD 來保證,一般會有一個整體性的要求,比如要達到 85% 的行級單測覆蓋率、80% 的分支覆蓋率、100% 的單測成功率。
-
可維護性和可擴展性: 針對代碼的結構和設計進行審查,代碼是否易懂,接口設計是否良好,邏輯是否清晰,是否遵循遵循開放 / 封閉等設計原則是否利於後續的擴展和維護。
審查不僅對查找和修復代碼問題有好處,對於提升團隊的編程技能,減少代碼的潛在問題,把控項目的整體質量也有着重要作用。要注意的是,代碼審查時應持有敬業和尊重他人的態度,代碼風格這些仁者見仁的儘量不要在 CR 階段來討論,到了這個階段,儘量尊重開發者的習慣。避免過於苛刻的評語,審查的目的是爲了幫助他人提高,而不是吹毛求疵。
本文由 Readfog 進行 AMP 轉碼,版權歸原作者所有。
來源:https://mp.weixin.qq.com/s/KvXY46cj7Yp-QFOyuGRLfA