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)
下载链接:
2. Reshift
Reshift 是一个基于 SaaS(Software-as-a-Service,软件即服务)的软件平台,它可以帮助软件开发团队在部署代码到生产环境之前,更快地识别出代码中更多的漏洞。可以减少发现和修复漏洞的成本和时间,可以识别数据泄露的潜在风险,并能帮助软件公司达到合规性和法规要求。
主要特性:
可以与 Github 和 Bitbucket 集成
通过拉取请求(pull-request)这个工作流为团队的处理流程提供安全性,并可以避免切换到其他面板
智能筛选,通过标记问题来减少超时误报
跟踪每个开发人员功能分支的漏洞
在合并到主干之前了解关键的漏洞
如果引入了新漏洞,则关闭构建
下载链接:
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
可以帮助我们为每个部门构建独立的任务表单
可定制任务管理
允许我们编写有用的注释和备注信息
下载链接:
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)审查
下载链接:
8. Barkeep
Barkeep 是一个友好的代码审查系统工具。它提供了一种最简单的方法来审查代码。它允许我们查看任何 Git 库的提交、查看差异点并编写注释。
主要特性:
该工具允许我们发送电子邮件给相关的提交者
支持提交后(post-commit)的工作流
提供了干净的用户界面,易于浏览
下载链接:
9. Reviewable
Reviewable 是一个轻量级的、功能强大的代码分析工具,它使代码审查更快、更全面。它通过用户界面清理、bug 发现以及语法高亮显示来帮助我们提高代码质量。
主要特性:
完全可定制的逻辑可以帮助我们确定何时能完成审查
仅适用于 GitHub 和 GitHub Enterprise,可与它们进行无缝集成,最小化管理工作
行注释可以跨文件版本进行映射,并会一直保留到问题解决为止
可以帮助我们完整地跟踪审查人(每个文件的每个修改版本都是谁审查的),以确保没有遗漏任何变更。
下载链接:
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)请求中,它能快速地告诉用户有关安全性问题、代码重复和代码复杂度的信息。
主要特性:
可以帮助我们在流程中及早发现新问题,并防止线上受到影响
代码质量可视化
可以无缝地集成到我们的工作流中
自我托管的解决方案,在服务器上提供了一流的安全性
下载链接:
12. CodeFactor.io
使用 Code Factor 工具,我们可以了解整个项目的代码质量、最近提交的内容以及问题最多的文件。我们可以针对每次提交(commit)和拉取(pull)的请求进行跟踪及问题修复。
主要特性:
可以概述我们的代码库
可以与我们的开发过程无缝集成
我们可以控制要分析的内容
帮助我们捕获每一行代码
简化代码审查流程并改进可操作的报告
它提供了分析数据,可以帮助我们理解、贡献并与同行交流
下载链接:
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 提供了工作流自动化,可以加快协作
权限管理使软件开发更安全
可以帮助我们将现有代码库与新的问题跟踪工具集成在一起
下载链接:
15. Veracode
Veracode 是一个代码审查和静态分析工具。它是基于 SaaS 模型构建的。此工具允许我们从安全性的角度分析代码。该工具使用二进制代码 / 字节码,并能保证 100% 的测试覆盖率。
主要特性:
即使源码不可用,也可以通过一致的流程和策略测试桌面、Web 或任何大小的桌面应用程序
不需要手动及自动配置就可以测试多个应用程序
通过在 SDLC 中简化和集成测试来自动化不同的工作流
通过持续审查过程来提高代码的生产效率
下载链接:
https://www.veracode.com/products/binary-static-analysis-sast
16. JArchitect
JArchitect 是一款易于使用的代码审查工具,可用于分析 Java 代码。每次审查后,它都会发送一份项目开发相关的报告。该工具还可以帮助我们提高代码的可维护性。
主要特性:
JArchitect 代码规则是 LINQ 查询,可以在第二个查询中生成
JArchitect 可以帮助我们发现数百个甚至数千个影响实际代码库的问题
当发现新问题时,它会立即通知开发人员
下载链接:
英文原文
16 BEST Code Review Tools in 2020 [Static Code Analysis]
(文章来源:InfoQ)