做代碼審查 CodeReview 有哪些關注點?

代碼審查(Code Review)是爲了保證代碼質量,控制代碼的錯誤和提升開發團隊的技能而進行的一種活動。

功能方面

  1. 修改範圍:我在 CR 時第一關注點是修改範圍與需求是否一致,如果修改範圍擴大,會造成變更不可控,是極爲危險的。

  2. 功能實現:代碼是否滿足功能需求或修復了相應的 Bug,代碼實現的邏輯是否正確?這個會通過在方案評審時就做好準備。設計方案評審需要 3 人以上有 CR 權限同學參加,最後 CR 人至少是這三人中的兩個。

  3. 自我檢查機制:比如與第三方交互前後要打日誌,是否需要配套相關的數據一致性措施。當然,這些在設計階段一般會定好。

  4. 錯誤和異常處理:檢查是否有錯誤處理和異常處理機制,以防代碼在遇到錯誤時崩潰。

可靠性方面

  1. 性能優化: 檢查代碼是否有可能影響性能的地方,如是否有不必要的循環,是否使用了正確的數據結構、算法時間複雜度和空間複雜度是否達標。

  2. 安全性: 檢查是否有可能導致安全問題的地方,如 SQL 注入、跨站腳本(XSS)問題等。對於敏感數據,要確保其在使用、傳輸和存儲過程中的安全性。

  3. 可測試性:檢查代碼是否容易進行單元測試,是否有足夠的測試覆蓋率。這個一般會通過 CI/CD 來保證,一般會有一個整體性的要求,比如要達到 85% 的行級單測覆蓋率、80% 的分支覆蓋率、100% 的單測成功率。

  4. 可維護性和可擴展性: 針對代碼的結構和設計進行審查,代碼是否易懂,接口設計是否良好,邏輯是否清晰,是否遵循遵循開放 / 封閉等設計原則是否利於後續的擴展和維護。

審查不僅對查找和修復代碼問題有好處,對於提升團隊的編程技能,減少代碼的潛在問題,把控項目的整體質量也有着重要作用。要注意的是,代碼審查時應持有敬業和尊重他人的態度,代碼風格這些仁者見仁的儘量不要在 CR 階段來討論,到了這個階段,儘量尊重開發者的習慣。避免過於苛刻的評語,審查的目的是爲了幫助他人提高,而不是吹毛求疵。

本文由 Readfog 進行 AMP 轉碼,版權歸原作者所有。
來源https://mp.weixin.qq.com/s/KvXY46cj7Yp-QFOyuGRLfA