Qodana
The code quality platform for teams
通过静态分析缩短代码审查和项目规划时间
厌倦了没完没了的代码审查和调试时,您可能会开始思考,是否有方法可以自动执行繁琐的任务,而不会在以后的开发中产生适得其反的效果。 如果您或您的团队对此感兴趣,可以深入研究一下服务器端静态分析。 您将如何从在项目生命周期中添加另一个步骤中受益(特别是在智能 IDE 时代)? 您可以将哪些任务委托给静态分析工具? 请阅读这篇博文,找到这些问题的答案并了解更多内容!
自动执行代码审查
根据 2019 有效状态开发者调查,61.5% 的开发者每天花在编写代码上的时间不超过 4 小时。 增加非编码用时的任务之一是代码审查。 这个过程的主要目标是直接发现质量问题。 在许多项目中,质量意味着:
1) 完美的业务逻辑实现;
2) 与代码可维护性相关的元素:设计模式、命名策略、代码样式等。
如果这个过程为纯手动,那么审查者对这两个方面都应予以关注。 这很容易出错,也很耗时。 例如,尝试找出与正则表达式相关的代码中的缺陷:
这对您来说并不容易,但对静态分析工具来说,却是一项非常轻松的任务。 这只是一个例子。 您可以自动执行许多检查:未使用的 import、死代码、重复项、拼写问题、格式问题等,您可以选择任何规则。 例如,如果您在注释中使用 TODO,您可以自动检查它们是否包含对问题跟踪器的引用,就像部分 JetBrains 团队所做的那样。
编辑器中配置的那些检查将指导开发者,但此指导将成为服务器端静态分析的强制规则。 服务器端质量门将确保代码在进入下一阶段(如手动代码审查或部署到生产)之前满足特定标准。 作者和审查者在反馈循环中花费的时间将减少。 此外,您将获得一个用于证明和进一步分析的跟踪记录。
对外部贡献保持信心
即使所有团队成员都同样熟练、准确,并且对代码质量有共同的理解,代码审查仍然是一个良好做法。 即使是职业攀岩者也需要保护绳,不是吗? 如果您不了解贡献者的实际技能水平,保护绳就变得至关重要。 当您接受外部项目贡献,并且需要确保贡献者遵循您的指南时,正是这种情况。 外部贡献可以是对开源项目的拉取请求,也可以是您委托给分包商的任务,自动代码审查将执行日常检查,以便您可以专注于业务价值。
大幅缩短在项目规划上花费的时间
使用服务器端静态分析,您可以检查创建的代码并规划代码演化步骤。 假设您想要切换到该语言或框架的较新版本。 幸运的话,您只需更新依赖项,项目就可以启动并运行。 如果没那么幸运,更新依赖项后,IDE 会高亮显示大量需要更新的位置。
对于大型项目,变更的数量可能会非常庞大,您需要若干人手才能成功。 您将如何在他们之间分配工作? 静态分析平台可以构建报告,以便在人员之间分配工作并估算结果。 这适用于您的代码所需的任何重构。 例如,使用基于结构化搜索的检查,您可以评估所有需要注意的地方。 从技术上讲,这种分析可以在开发者的计算机上完成,但不能与其他人共享问题列表和跟踪进度。
在您的项目生命周期中使用 Qodana 进行静态分析
JetBrains 的代码质量平台 Qodana 使您和您的团队能够利用静态分析工具的优势,同时与您最喜欢的 CI/CD 管道(TeamCity、GitLab、GitHub 等)集成。 下图说明了软件开发生命周期中使用的典型软件构建流程,以及如何将 Qodana 与此流程进行集成。
要开始使用 Qodana,请查看我们之前的博文来获取详细说明,或下载适合您的技术堆栈的组件版本:
- Qodana for JVM
- Qodana for JS (EAP)
- Qodana for PHP (EAP)
- Qodana for Python (EAP)
访问 jetbrains.com.cn/qodana 了解详细信息。 如果您有任何反馈,我们将不胜感激,欢迎您提出任何想法! 请发送电子邮件至 qodana-support@jetbrains.com 或通过问题跟踪器与我们联系。
您的 Qodana 团队
英文博文原作者: