写点什么

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:0023266
用户头像
小智 让所有人认同的文字称不上表达

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

关注

评论 1 条评论

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

JVM垃圾回收与一次线上内存泄露问题分析和解决过程

AI乔治

Java 编程 架构 JVM 内存泄漏

移动端堆栈关键行定位的新思路

移动研发平台EMAS

移动应用 应用崩溃 崩溃分析

SpringBoot-技术专题-Websocket消息推送和广播消息推送

码界西柚

JUC 之ThreadPoolExecutor实现原理分析

AI乔治

Java 架构 jdk 线程

鬼知道我经历了什么!全靠这份999页Java面试宝典,我刚拿到美团offer!

Java架构追梦

Java 程序员 架构 面试 美团

高频面试题:秒杀场景设计

艾小仙

Java 面试 高并发 秒杀

让你怀疑人生的重载和重写的区别

艾小仙

Java 编程语言

React Ref 如何使用(译)

西贝

Java 翻译 React Hooks Ref

LeetCode题解:90. 子集 II,迭代,JavaScript,详细注释

Lee Chen

算法 大前端 LeetCode

云原生时代下数据库管理工具的变革

BinTools图尔兹

数据库 sql 云原生 数据治理 工具软件

阿里五位大佬总结的操作系统+程序员必知硬核知识大全离线版pdf火了,在Github上获赞89.3K+,现已开源!

996小迁

架构 面试 操作系统 计算机

低代码开发平台的敏捷之力

雯雯写代码

敏捷开发 低代码 信息化

Java先驱者发布最新Java全栈面试“秘籍”,助力你吃透Java新特性!

Java架构追梦

Java 学习 编程 架构 面试

JUC之 FutureTask 源码与工作原理分析

AI乔治

Java 编程 架构 jdk 线程

第七周课后练习

饭桶

AI 科学家带你快速 Get 人工智能最热技术

京东科技开发者

人工智能

微信小程序接口测试时appid为空如何解决

测试人生路

微信小程序 接口测试

谈谈项目中主动full gc的一些问题

AI乔治

Java 编程 架构 JVM GC

第七周课后总结

饭桶

架构师训练营 1 期 - 第六周 - 技术选型2

三板斧

极客大学架构师训练营

百万年薪技术大佬的读书之旅

四猿外

Java 书籍推荐 书单 书单推荐 书籍

《Among Us》火爆全球,实时语音助力派对游戏开启第二春

ZEGO即构

语音 游戏 RTC

跟Kafka学技术系列之时间轮

AI乔治

Java 编程 架构

LeetCode题解:90. 子集 II,迭代+位运算,JavaScript,详细注释

Lee Chen

算法 大前端 LeetCode

Appium常用操作之「微信滑屏、触屏操作」

清菡软件测试

SpringBoot- 技术专题 -Websocket+Nginx出现404问题

码界西柚

腾讯安全披露多个0day漏洞,Linux系统或陷入“被控”危机

零基础IM开发入门(四):什么是IM系统的消息时序一致性?

JackJiang

让容器应用管理更快更安全,Dragonfly 发布 Nydus 容器镜像加速服务

阿里云基础软件团队

云原生

音视频社交的应用和优势

anyRTC开发者

音视频 WebRTC 语音 直播 RTC

震惊!线上四台机器同一时间全部 OOM,到底发生了什么?

AI乔治

Java 架构

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