查看原文
其他

Qodana 2022.2 :CircleCI Orb 和超过 50 项新检查 | 新版本

Qodana JetBrains 2023-11-05


Qodana 2022.2 已正式推出! 我们已将 CircleCI Orb 添加到 Qodana 集成工具包,并为 Java、Kotlin、Android、PHP、JavaScript 和 Python 提供了新的和改进的代码检查。



更多配合 Qodana 运行的 CI


Qodana 已经具有适用于 Azure PipelinesGitHub Actions 和 TeamCity 的插件。 从 2022.2 开始,我们准备了 CircleCI Qodana orb,它允许您使用 CircleCI 项目快速轻松地设置代码检查。  

另外,在 GitLabJenkins 或支持运行 Docker 镜像的任何其他 CI 中都可以轻松设置 Qodana。



新检查


正则表达式

正则表达式具有复杂和偶尔冗长的特性以及繁琐的语法。 为了改善体验,我们在这方面增加了新的检查。 此前这些检查仅适用于 Java,但现在已适用于所有语言。


简化的正则表达式

[\wa-z\d]这样的正则表达式可以简化为\w,因为\w已经包含a-z和数字。这有助于提高代码的整体可读性。


可疑的反向引用

\1(abc)这样的正则表达式不能匹配任何东西。 这是因为\1引用的是评估\1时尚未定义的abc 此检查可防止正则表达式中的简单拼写错误并加快编辑速度。 


冗余\d[:digit:]\D类元素

正则表达式[\w+\d]可以写为[\w+],因为\w已经包含\d 这有助于提高代码的整体可读性。


Markdown 支持


列表项编号错误

1. 2. 4.等有序列表项会被标记为编号不连贯。 在呈现的 Markdown 中,列表仍显示为1. 2. 3.,但是不连贯将使源代码更难编辑。


Java、Kotlin 和 Android 检查

我们向以下类别添加并重新组织了检查:Javadoc、DevKit、Markdown、Kotlin 语言、样式、架构模式、性能和 JUnit 支持。 以下是 JUnit 集的几个示例。


JUnit:格式错误的声明

报告格式错误且可能无法被 JUnit 测试框架识别的 JUnit 测试成员声明。 此类声明可能产生未执行的测试或生命周期方法。


JUnit:不可构造的测试用例

报告由于构造函数无效而无法构造的 JUnit 测试用例。 此类测试用例不会被 JUnit 测试运行程序拾取,因此不会执行。


您可以在我们的公共 TeamCity 实例上实时看到这些示例。 请使用访客登录。 我们的文档描述了其他检查。


PHP 检查

我们在可能的错误、文档、样式、测试和 Laravel 类别中添加了检查,例如:


可能的错误:数字范围不匹配

在使用returns int<0,10>声明的函数中,标记会返回返回超出此范围的数字的语句。 在字段、字段构造函数和函数调用上也是如此。 


文档:不带变量名称的类型标记

PHPDoc 代码段@param string冗余,因为它没有说明 what 是字符串。 它应该被移除或替换为@param string $argument,表示 argument 是字符串。 


Blade:由于字符串文字中的圆括号不成对而导致的解析错误

及早检测字符串文字中的不成对圆括号,后续由模板引擎 Blade 解析。


要从分析中添加或排除特定检查,您可以自定义默认检查配置文件或创建一个全新的配置文件。 您可能还希望执行对您的编码准则或最佳做法至关重要重要的检查。 查看我们的 Qodana 文档获取更多信息。 


如果您对未来的博客主题有建议,或者想详细了解 Qodana 可以如何帮助您和您的业务,请直接在文末留言,或发送电子邮件至 qodana-support@jetbrains.com 与我们联系。


本博文英文原作者:Viktor Tiulpin


相关阅读

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

继续滑动看下一个

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存