JetBrains Qodana 2023.3:这些新的代码质量功能已送达!

原创
01/05 10:24
阅读数 18

我们的团队一直在根据用户反馈创建新功能,帮助用户增强代码质量和提升合规性。本文将介绍 JetBrains Qodana 2023.3(最新版本)中的更新。

针对 .NET 有哪些变化?


适用于 .NET 的 Qodana

 Community linter 启动 EAP


先前,如果您想在 IDE 之外(在 CI/CD 服务器上)运行社区版 ReSharper 的代码分析,您需要使用 ReSharper Command Line Tools 中的 InspectCode。

在 2023.3 版本中,我们将为适用于 .NET 的 Qodana Community linter 启动抢先体验计划 (EAP),此 linter 将替代 InspectCode!

为什么?Qodana 虽然与 ReSharper 基于相同的静态代码分析引擎,但还具有额外优势。

借助 Qodana,您可以:

  • 使用 Qodana Cloud 中的标志性旭日图查看分析结果。

  • 快速评估项目整体健康状况。

  • 使用基线管理技术债务。

我们暂时不会停止支持 ReSharper Command Line Tools,但未来,适用于 .NET 的 Qodana Community linter 将成为在 IDE 之外运行社区版 ReSharper 分析的首选方式。


审核依赖项

Qodana Ultimate Plus 提供

付费的适用于 .NET 的 Qodana linter 现在允许您运行第三方许可证审核与检测易受攻击的依赖项,这两项均不包含在 ReSharper 中。

Qodana 许可证审核包括两个级别的功能,帮助您的企业检查许可证并保持合规。

此版本中的许可证审核功能有哪些变化?

  1. 许可证信息收集:在 License Audit(许可证审核)标签页中自动收集并显示项目依赖项中的所有许可证信息。

  2. 许可证合规性检查器:评估许可证合规性并识别与依赖项许可证相关的潜在法律风险。

要查看和下载许可证审核结果,首先在执行检查的 Qodana Cloud 中打开项目,然后导航到 License audit(许可证审核)标签页。

许可证审核 Qodana

然后:

  1. 展开列表以查看依赖项树。

  2. 在查看所有许可证或仅查看不兼容的许可证之间切换。

  3. 查看兼容性许可证规则。

  4. 点击 Download license list(下载许可证列表)按钮以下载 MD、XML、HTML、CSV 或高级 SPDX 格式的依赖项列表。

💡 详细了解许可证审核 >>>


适用于 .NET Framework 的

 .NET 原生模式

所有方案均提供


现在,Qodana 在原生环境中运行,使您能够使用私有 NuGet 源中的软件包并在 Windows 代理上分析以 .NET 框架为目标的项目。您可以在用于构建发行版的同一台计算机上运行 Qodana。在启动分析之前,我们建议通过向 `qodana.yaml` 文件的 `bootstrap:` 部分提供构建命令来构建源。


许可证审核“软件物料清单”

(SBOM) 导出

Qodana Ultimate Plus 提供

SPDX 格式不仅包含依赖项列表,还包含项目结构、库校验和、版权和包含的许可证文本,都位于软件物料清单 (SBOM) 中。

点击 Download license list(下载许可证列表)按钮即可检索许可证审核报告。



针对 .NET、Go 和 Python 的

代码覆盖率

自 2023.2 版本以来,代码覆盖率一直是深受 Java、JavaScript 和 PHP 用户喜爱的功能。在 Qodana 2023.3 中,我们将 .NET、Go 和 Python 添加到您可以衡量代码覆盖率的语言列表中。

在最新的 Qodana 版本中,新增的检查可以帮助您确定方法、类或文件的覆盖率是否低于预定义的阈值。生成的覆盖率信息将被计算并在命令行界面 (CLI) 输出和 Qodana Cloud UI 中显示。

检查默认启用,位于我们的 Starter(入门)和 Recommended(推荐)检查配置文件中。要开始查看测试覆盖率结果,只需提供测试数据。

要利用此功能,可以将包含覆盖率报告的目录映射到 `/data/coverage` 目录(如果您使用的是 Docker 镜像),也可以将其放入所分析项目的根文件夹下的 `.qodana/code-coverage` 中。测试应该由开发者运行并存储执行数据。

计算代码覆盖率需要测试框架提供的额外信息:

  • .NET

    • 访问代码覆盖率框架 Coverlet 以获取 .NET 代码覆盖率。

  • Python

    • 使用 coverage.py 执行单元测试并将结果转换为 XML 格式。

  • Go

    • 使用 `% go test –coverprofile=coverage.out` 运行单元测试。无需额外转换。

💡 代码覆盖率文档 >>>


VS Code 扩展程序

我们最近宣布,您现在可以使用 VS Code 或许多主流 JetBrains IDE 将 JetBrains 代码质量智能扩展到混合开发团队。

所有方案均提供

💡 前往 VS Code 扩展程序 >>>


增强漏洞搜索能力

Qodana Ultimate Plus 提供

Qodana 可以帮助您的团队找到项目中易受攻击的依赖项。但这又提出了另一个重要问题:“您的代码真的使用了易受攻击的 API 吗?”

现在,我们不仅可以针对 Java、Kotlin 和 PHP 回答这个问题,还可以针对 Go、JS 和 Python 回答这个问题。这项功能对于 JetBrains Qodana 以及您的 JetBrains IDE 都是开箱即用。


Qodana IDE 插件焕然一新

所有方案均提供

Qodana 团队进行了设计更新,在最新版本的 Qdana IDE 插件中升级了 UI。为了避免在切换分支时出现困惑,您现在可以在 IDE 中查看与分支匹配的分析结果。

如需详细了解我们的 IDE 插件,请查看这篇博文

请注意,本文介绍的只是部分亮点!版本说明涵盖了更多详细信息、额外功能,以及本文未列出的 Qodana 2023.3 功能。


与 Qodana 团队讨论

如何正确开展代码质量工作

如果您对 Qodana 有任何疑问或建议,或者只是想详细了解 Qodana 如何帮助您的团队和业务,请在此处发表评论,或发送电子邮件至 qodana-support@jetbrains.com 与我们联系。

祝您开发愉快!

您的 Qodana 团队


本博文英文原作者:Kerry Beetge


Qodana 相关阅读

关于 Qodana

Qodana 是一款代码质量监控平台,可用于评估您拥有、协作或购买的代码的完整性。它将您所喜爱的 JetBrains IDE 中的所有智能功能以及诸如克隆检测和许可证审查等项目级检查引入到您的 CI/CD 管道中。


进一步了解 Qodana

⏬ 戳「阅读原文」了解更多信息

本文分享自微信公众号 - JetBrains(JetBrainsChina)。
如有侵权,请联系 support@oschina.cn 删除。
本文参与“OSC源创计划”,欢迎正在阅读的你也加入,一起分享。

展开阅读全文
加载中
点击引领话题📣 发布并加入讨论🔥
打赏
0 评论
0 收藏
0
分享
返回顶部
顶部