Code Review 工具自動化了代碼審核過程。它們有助於靜態代碼分析,這對於交付可靠的軟件應用程序至關重要。市場上有太多的 Code Review 工具了,以至於為我們的項目選擇一個合適的 Code Review 工具都會成為一種挑戰。本文精選了 16 個 Code Review 工具,它們都具有最受歡迎的特性和最新的下載鏈接。該列表既包含了開源工具也包含了商業工具。
1. Review Assistant
Review Assistant 是 Visual Studio 的一個擴展。它支持 Visual Studio 2019、2017、2015、2013、2012 和 2010。Review Assistant 可以幫助創建審查請求並能在不離開 IDE 的情況下對請求做出響應。它支持 TFS、Subversion、Git、Mercurial 以及 Perforce。Review Assistant 將“代碼審查板(Code Review Board)”窗口添加到 IDE 中。該窗口可用於管理用戶所有可用的審查。
主要特性:
- 靈活的代碼審查
- 支持在代碼中討論
- 帶有缺陷修復的迭代審查
- 電子郵件通知
- 豐富的集成功能
- 報告和統計
- 該插件可替換 Visual Studio 代碼審查功能(Visual Studio Code Review Feature)
下載鏈接:
https://bit.ly/2Uw0a6M
2. Reshift
Reshift 是一個基於 SaaS(Software-as-a-Service,軟件即服務)的軟件平臺,它可以幫助軟件開發團隊在部署代碼到生產環境之前,更快地識別出代碼中更多的漏洞。可以減少發現和修復漏洞的成本和時間,可以識別數據洩露的潛在風險,並能幫助軟件公司達到合規性和法規要求。
主要特性:
- 可以與 Github 和 Bitbucket 集成
- 通過拉取請求(pull-request)這個工作流為團隊的處理流程提供安全性,並可以避免切換到其他面板
- 智能篩選,通過標記問題來減少超時誤報
- 跟蹤每個開發人員功能分支的漏洞
- 在合併到主幹之前瞭解關鍵的漏洞
- 如果引入了新漏洞,則關閉構建
下載鏈接:
https://bit.ly/33Oubj8
3. Gerrit
這是一個開源的輕量級工具,它是基於“Git 版本控制系統”來進行構建的。在所有用戶都是受信提交者的項目環境中,該工具非常有用,因為該工具允許用戶檢查項目中所做的總體變更。
主要特性:
- Gerrit 阻止用戶直接推送到 Git 庫
- 允許我們在源代碼中查找錯誤
- 可以幫助我們創建新變更或更新現有的變更
- 允許我們在開發者模式和 Git 庫之間進行轉換
下載鏈接:
https://www.gerritcodereview.com/
4. Codestriker
Codestriker 是一個開源的在線源碼審查 Web 應用程序。此代碼審查工具可以幫助我們在數據庫中記錄問題、註釋和決策。它也可以用於代碼檢查(Code Inspections)。
主要特性:
- 支持傳統的文檔審查
- 它可以與 Bugzilla、ClearCase、CVS 等集成
- Codestriker 已獲得 GPL 許可
下載鏈接:
http://codestriker.sourceforge.net/
5. Phabricator
Phabricator 是一個開源的源碼掃描程序。它還包括了基於 Web 的輕量級代碼審查、規劃、測試、bug 發現等功能。
主要特性:
- 提交前(Pre-Commit)的代碼審查
- 可以跟蹤大量的 bug
- 可以幫助我們為每個部門構建獨立的任務表單
- 可定製任務管理
- 允許我們編寫有用的註釋和備註信息
下載鏈接:
https://www.phacility.com/
6. Crucible
Crucible 是一個基於 Web 的代碼質量工具。開發人員利用它來進行代碼審查、bug 及缺陷發現、變更討論和知識共享。該工具可以幫助他們捕獲主要缺陷並改進他們的代碼架構。
主要特性:
- 通過內聯註釋、線程引用和對話來協作開發正確的代碼
- 允許使用活動流(活動流可以顯示最新的註釋)實時跟蹤項目和審查更新
- 當代碼在整個審查過程中被重構和修改時,可以確保我們正在審查的所有文件都是最新的
- 可以根據審查活動自動更新 Jira 軟件問題,並且通過單擊即可將審查意見轉換為問題
下載鏈接:
https://www.atlassian.com/software/crucible
7. Review Board
Review Board 是一個安全的代碼審查工具。它可用於開源項目和公司的代碼審查和文檔審查。
主要特性:
- Review Board 可以與 ClearCase、Performce、CVS、Plastic 等集成
- 該代碼是語法高亮顯示的,這使得它更具可讀性
- 支持提交前(pre-commit)審查和提交後(post-commit)審查
下載鏈接:
https://www.reviewboard.org/
8. Barkeep
Barkeep 是一個友好的代碼審查系統工具。它提供了一種最簡單的方法來審查代碼。它允許我們查看任何 Git 庫的提交、查看差異點並編寫註釋。
主要特性:
- 該工具允許我們發送電子郵件給相關的提交者
- 支持提交後(post-commit)的工作流
- 提供了乾淨的用戶界面,易於瀏覽
下載鏈接:
http://getbarkeep.org/
9. Reviewable
Reviewable 是一個輕量級的、功能強大的代碼分析工具,它使代碼審查更快、更全面。它通過用戶界面清理、bug 發現以及語法高亮顯示來幫助我們提高代碼質量。
主要特性:
- 完全可定製的邏輯可以幫助我們確定何時能完成審查
- 僅適用於 GitHub 和 GitHub Enterprise,可與它們進行無縫集成,最小化管理工作
- 行註釋可以跨文件版本進行映射,並會一直保留到問題解決為止
- 可以幫助我們完整地跟蹤審查人(每個文件的每個修改版本都是誰審查的),以確保沒有遺漏任何變更。
下載鏈接:
https://reviewable.io/
10. Peer Review Plugin
Peer Review Plugin 消除了耗時的代碼審查會議的需求,因為它使我們可以在基於 Web 的用戶友好的環境中審查代碼。
主要特性:
- 改善的知識轉移體驗
- 可以幫助我們審查存儲庫中的文件並對其進行註釋
- 以 MS Word docx 格式導出數據
- 更好的代碼以及更少的缺陷
- 支持 Git、SVN 和 GitHub
下載鏈接:
https://trac-hacks.org/wiki/PeerReviewPlugin
11. Codacy
Codacy 工具通過靜態代碼分析自動識別問題。在每個拉取(pull)和提交(commit)請求中,它能快速地告訴用戶有關安全性問題、代碼重複和代碼複雜度的信息。
主要特性:
- 可以幫助我們在流程中及早發現新問題,並防止線上受到影響
- 代碼質量可視化
- 可以無縫地集成到我們的工作流中
- 自我託管的解決方案,在服務器上提供了一流的安全性
下載鏈接:
https://www.codacy.com/
12. CodeFactor.io
使用 Code Factor 工具,我們可以瞭解整個項目的代碼質量、最近提交的內容以及問題最多的文件。我們可以針對每次提交(commit)和拉取(pull)的請求進行跟蹤及問題修復。
主要特性:
- 可以概述我們的代碼庫
- 可以與我們的開發過程無縫集成
- 我們可以控制要分析的內容
- 幫助我們捕獲每一行代碼
- 簡化代碼審查流程並改進可操作的報告
- 它提供了分析數據,可以幫助我們理解、貢獻並與同行交流
下載鏈接:
https://www.codefactor.io/
13. Helix Swarm
Helix swarm 是一個代碼審查工具,它可以安排審查、共享內容並查看代碼審查變更。它支持持續集成部署。它可以幫助我們監控進度、自動化設計過程並提高項目的發佈質量。
主要特性:
- 允許我們按照優先級進行篩選
- 可以在個人資料頁自定義通知設置
- 可以通過將多個變更分支附加到提交前(pre-commit)審查中來同時審查獨立的組件
- 通過將 Helix Core 與 Ping Identity、Okta 或其他工具集成來幫助我們確保代碼是安全的
下載鏈接:
https://www.perforce.com/products/helix-swarm
14. Rhodecode
Rhodecode 是一個開源的、安全的企業級源碼管理工具。該工具可作為 Git、Subversion 和 Mercurial 的集成工具。
主要特性:
- 團隊協作可以提高代碼質量
- Rhodode 提供了工作流自動化,可以加快協作
- 權限管理使軟件開發更安全
- 可以幫助我們將現有代碼庫與新的問題跟蹤工具集成在一起
下載鏈接:
https://rhodecode.com/
15. Veracode
Veracode 是一個代碼審查和靜態分析工具。它是基於 SaaS 模型構建的。此工具允許我們從安全性的角度分析代碼。該工具使用二進制代碼 / 字節碼,並能保證 100% 的測試覆蓋率。
主要特性:
- 即使源碼不可用,也可以通過一致的流程和策略測試桌面、Web 或任何大小的桌面應用程序
- 不需要手動及自動配置就可以測試多個應用程序
- 通過在 SDLC 中簡化和集成測試來自動化不同的工作流
- 通過持續審查過程來提高代碼的生產效率
下載鏈接:
https://www.veracode.com/products/binary-static-analysis-sast
16. JArchitect
JArchitect 是一款易於使用的代碼審查工具,可用於分析 Java 代碼。每次審查後,它都會發送一份項目開發相關的報告。該工具還可以幫助我們提高代碼的可維護性。
主要特性:
- JArchitect 代碼規則是 LINQ 查詢,可以在第二個查詢中生成
- JArchitect 可以幫助我們發現數百個甚至數千個影響實際代碼庫的問題
- 當發現新問題時,它會立即通知開發人員
下載鏈接:
http://www.jarchitect.com/
閱讀更多 InfoQ 的文章