【51CTO.com快译】说到软件开发,您编写的代码代表了您,这就是为什么编写简洁、易读且高性能的代码至关重要(这条规则当然也有例外,但总的来说,小心谨慎总比事后后悔好)。在开发工具箱中拥有良好的代码质量工具总是好主意,可通过编写干净且易维护的源代码来帮助您管理技术债务。我们在本文中将列出值得您考虑的几款此类工具,希望您觉得有用!

1. DeepSource

DeepSource是一种静态分析工具,可以智能化测试代码,帮助弄清楚几个关键方面的问题,比如性能、反模式、缺陷风险、安全漏洞、样式和文档问题。

功能:

  • 可使用配置文件生成器进行简单配置。

  • 可对每个合并请求(PR)进行连续分析。

  • 误报较少。

缺点:

  • 目前只有SaaS Web应用程序这个版本,CLI版仍在开发中。

价格:https://deepsource.io/pricing/

2. embold

embold使您可以对软件项目进行静态分析,并提供代码质量报告,其中包括检测到的问题的热图,可帮助您直观地查看导致代码异常的具体组件。它还自称基于AI,可以为您提供建议,以解决这款静态分析工具发现的问题,就像自动校正代码一样。它支持最常见的持续开发策略。可以将其添加到您的GitHub/Bitbucket代码库中,或在您的CI/CD管道中启用它。它对开源项目免费。

功能:

  • 基于AI提供了代码重构方面的建议。

  • 与DevOps易于集成。

缺点:

  • 缺乏对多语言项目的支持。

  • 基于代码行收费的模式存在局限性,且令人困惑。

价格:https://embold.io/pricing

3. SonarQube

另一个值得考虑的源代码分析工具SonarQube为程序员提供了一个平台,可以分析27多种不同编程语言中的代码,并帮助您提高性能和检测安全漏洞。它由SonarSource的团队开发,对社区免费开源。SonarQube可以添加到您的CI/CD管道中,或者与您选择的代码库托管平台集成,从而帮助执行连续的代码分析。

功能:

  • 多语言支持。

  • 执行安全分析。

  • 检测棘手的问题。

  • 开源。

缺点:

  • 不会通知用户何时完成耗时的扫描。

  • 缺乏与Jira和GitHub更紧密的集成。

  • 缺少忽略问题的任何方法。

价格:https://www.sonarqube.org/downloads/

4. Veracode

这套工具使您可以执行代码审查、自动测试、静态分析以及必要的补救步骤,以提高软件的性能。Veracode作为一款安全解决方案来销售,可检测并报告程序中的漏洞,同时提供静态分析(SAST)、软件组成分析(SCA)、交互式分析(IAST)和动态分析(DAST)等功能。

功能:

  • 不同测试方法(SAST、DAST、IAST和SCA)的集中式视图。

  • 提供渗透测试即服务。

  • 还提供安全咨询即服务。

缺点:

  • 费时的扫描。

  • 缺少Web应用程序界面。

价格:https://info.veracode.com/request-quote.html

5. Code Climate

Code Climate的代码质量工具执行自动代码审查,针对特定的代码行留下注释;它还分析测试范围,直观地显示项目结构中的问题。它支持11种语言,还带有IDE扩展,可以在本地对代码进行分析,并可与Jira/Trello/GitHub集成,为检测到的问题创建工单。

功能:

  • 与GitHub集成可针对合并请求留下注释。

  • 随带浏览器扩展。

  • 通过图表直观地显示了代码质量趋势。

缺点:

  • 无法对代码库中的问题进行分类。

价格:https://codeclimate.com/quality/pricing/

6. Codacy

Codacy是一种代码审查自动化工具,支持30多种不同的编程语言。它还随带自托管版本。它使开发人员可以根据要分析的代码选择规则集。UI提供了可视化报告,可帮助团队经理了解代码质量违规现象一再出现的原因。它还与开发团队使用的其他应用程序集成,比如Slack和GitHub。

功能:

  • 便于快速洞察。

  • 富有洞察力的仪表板。

缺点:

  • 复杂的配置设置。

  • 大量误报。

价格:https://www.codacy.com/pricing

7. Codebeat

Codebeat支持多种编程语言,在过去几年一直在不断完善。它不执行任何安全检查。

功能:

  • 还可以对移动应用程序执行检查。

  • 支持Swift和Objective-C进行Apple开发。

  • 可检测代码重复。

缺点:

  • 缺乏安全检查。

  • 必须将定义添加到CI/CD配置。

价格:https://codebeat.co/pricing

8. LGTM

LGTM是一种简单、易于设置和维护的代码质量和安全分析工具,这款产品为开源项目提供了免费版本,为大型组织提供了自托管的企业版,以此吸引开发人员。

功能:

  • 检测所贡献的代码中的零日漏洞。

  • 与IDE和Git代码库很好地集成。

  • 基于行业标准的警报以及注重实用的建议。

价格:为组织提供了开源自托管套餐,可免费使用。

9.自托管或CI/CD

如果上述工具不适合您,不妨考虑创建自己的CI/CD管道,并构建针对代码库定制的代码质量分析工具箱。

功能:

  • 支持更多的代码质量标准。

  • 可以更灵活地定制代码质量检查。

缺点:

  • 需要手动配置、维护和更新。

  • 价格:免费

原文标题:Comparing 9 Code Quality Tools,作者:Saif Sadiq