写点什么

16 个好用的 Code Review 工具

  • 2020-01-13
  • 本文字数:3335 字

    阅读完需:约 11 分钟

16个好用的Code Review工具

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/

英文原文

16 BEST Code Review Tools in 2020 [Static Code Analysis]


2020-01-13 15:0023446
用户头像
小智 让所有人认同的文字称不上表达

发布了 408 篇内容, 共 399.7 次阅读, 收获喜欢 1985 次。

关注

评论 1 条评论

发布
用户头像
没有upsource吗?
2020-01-19 19:46
回复
没有更多了
发现更多内容

WeChat Moments Performance Analysis

David

架构实战营

「趣学前端」页面上吸顶的效果是怎么做到的

叶一一

CSS 前端 10月月更

用栈操作构建数组

掘金安东尼

算法 10月月更

super关键字的作用

魏铁锤

10月月更

JWT详解

Java学术趴

10月月更

百度面试题——迷宫问题(超详细解析)

lovevivi

c 数据结构 10月月更

浅谈etcd服务注册与发现

闫同学

Go 微服务 etcd 10月月更

行业实践:RocketMQ 业务集成典型行业应用和实践

阿里巴巴云原生

阿里云 RocketMQ 云原生

搭建Linux下QT开发环境与Android开发环境(嵌入式与PC机)

DS小龙哥

10月月更

ReentrantLock可重入、可打断、锁超时实现原理

JAVA旭阳

Java 并发 10月月更

Apache RocketMQ 在阿里云大规模商业化实践之路

阿里巴巴云原生

Apache 阿里云 云原生 消息队列 商业化

Spring Boot「06」Loading initial data

Samson

Java spring 学习笔记 spring-boot 10月月更

一文搞懂Go整合captcha实现验证码功能

闫同学

Go Web 安全 10月月更

Go语言开发小技巧&易错点100例(一)

闫同学

10月月更

用Java实现计算器功能

魏铁锤

10月月更

如何提高项目的稳定性和开发效率呢?

王中阳Go

数据库 算法 框架 函数 10月月更

Linux下编写ENC28J60网卡驱动,完善网络设备框架

DS小龙哥

10月月更

Kafka的客户端NetworkClient如何发起的请求

石臻臻的杂货铺

Kafk 10月月更

【愚公系列】2022年10月 Go教学课程 029-面向对象简介

愚公搬代码

10月月更

Vue组件入门(六)派发事件的参数传递

Augus

Vue 3 10月月更

「趣学前端」box-shadow的多重用法

叶一一

CSS 前端 10月月更

一文搞懂常见的网络I/O模型

闫同学

网络 网络io 10月月更

常见大数据应用场景

穿过生命散发芬芳

大数据 10月月更

图解ReentrantLock的条件变量Condition机制

JAVA旭阳

Java 并发 10月月更

Go-Excelize API源码阅读(二十三)——SetDocProps、GetDocProps

Regan Yue

Go 开源 源码刨析 10月月更

「趣学前端」容器上的折角边框是图形吗?

叶一一

CSS 前端 10月月更

协同开发时,如何科学的使用Git紧急修复线上bug?

王中阳Go

git 敏捷开发 团队协作 10月月更 git使用规范

Serverless的应用场景

阿泽🧸

Serverless 10月月更

JavaSE 抽象类和接口

whispar

接口 Java应用 10月月更

前端开发提效小技巧之业务功能篇

叶一一

前端 提高效率 10月月更

如何在 Linux 上重新启动网络接口?

wljslmz

Linux 网络 网络接口 10月月更

16个好用的Code Review工具_文化 & 方法_Guru99_InfoQ精选文章