25 | 代码静态检查实践
王潇俊
该思维导图由 AI 生成,仅供参考
你好,我是王潇俊,今天我和你分享的主题是:代码静态检查实践。
从这次分享开始,我们要正式开始分享测试管理系列这个主题了。测试管理本身是一个很大的范畴,而且和我们之前聊到过的环境、配置等关系密切。
因为这个专栏我们要解决的最主要的问题是持续交付,所以我在这个测试管理这个系列里面,不会去过多的展开测试本身的内容,而是要把重点放在与持续交付相关的三个重点上:
代码静态检查;
破坏性测试;
Mock 与回放。
这三个重点内容,我会分别用一篇文章的篇幅去解释。今天,我们就先从代码静态检查的实践开始吧。
虽然不同编程语言会使用不同的静态检查工具,但这些静态检查工具的工作原理和检查流程很类似。所以,为了更好地聚焦核心内容,我选择互联网公司常用的 Java 语言的静态检查来展开今天的分享。
如果你所在公司采用的是其他编程语言,那也没关系,相信你理解了这篇文章中关于原理、流程的内容后,也可以解决你所用具体语言的代码静态检查。如果在这个过程中,你还遇到了其他问题,欢迎你给我留言,我们一起去解决。
为什么需要代码静态检查?
代码静态检查,即静态代码分析,是指不运行被测代码,仅通过分析或检查源程序的语法、结构、过程、接口等检查程序的正确性,并找出代码中隐藏的错误和缺陷(比如参数不匹配、有歧义的嵌套语句、错误的递归、非法计算、可能出现的空指针引用等等)。
公开
同步至部落
取消
完成
0/2000
荧光笔
直线
曲线
笔记
复制
AI
- 深入了解
- 翻译
- 解释
- 总结
本文深入探讨了代码静态检查的实践和相关工具,强调了静态检查的重要性和优势。文章首先介绍了提高静态检查效率的重要性,并提出了采用增量形式的静态检查来提升效率的建议。其次,文章讨论了制定规则的方式,包括从已有规则中挑选适用的规则和编写全新规则的方法。接着,文章通过Sonar代码静态检查实例展示了如何搭建Sonar服务并将其与实际流程结合,从而构建一套完整的代码静态检查机制。最后,文章总结了近五年国内大型互联网公司在持续交付实践中的经验,并提出了思考题,引发读者深入思考。整体而言,本文通过详细介绍了代码静态检查的实践和相关工具,为读者提供了全面的了解和实施指导。
仅可试看部分内容,如需阅读全部内容,请付费购买文章所属专栏
《持续交付 36 讲》,新⼈⾸单¥59
《持续交付 36 讲》,新⼈⾸单¥59
立即购买
© 版权归极客邦科技所有,未经许可不得传播售卖。 页面已增加防盗追踪,如有侵权极客邦将依法追究其法律责任。
登录 后留言
全部留言(11)
- 最新
- 精选
- 手指饼干第五步:在 GitLab 的 Merge Request 中增加 Sonar 静态检查的环节,包括检查状态和结果等。--请问这一步的具体思路是怎样的?
作者回复: 提交mr之后,异步进行sonar扫描,过程中不允许接受mr,直到返回结果,允许进行操作。返回的结果可以进行判断,比如有严重问题的也不允许合并。携程的做法是记录第一次扫描的结果作为基线,之后的扫描不允许有问题的增加。gitlab需要作二次开发。目前我们也在尝试增量代码的检查,会使效率更高。
2018-09-121 - 九脉一谷sonar代码走查,都有哪些指标的对代码质量具有很好的指导意义
作者回复: 本身带有很多标准,对这些标准也有对应的分级,可以拿默认的规则适用一下的
2018-08-311 - 怀揣梦想的学渣现在有了openAI的GPT-4,是不是代码检测的自动化程度会再次提高2023-05-06归属地:山东
- 戴斌我们是在持续集成的时候使用sonar做静态检查。由于检查的时间长,已经调整为按天检查了。2020-03-241
- Daisy老师,您好!Visual studio 2017安装sonarlint插件,想配置成“编码时实时扫描”,但总是失败,请问老师有解决办法吗?2019-07-22
- YoungerChina有没有与gerrit结合的静态检查工具,基于patch的增量检查,sonar可以吗。2019-02-13
- 风雨无阻老师你好,您的回复我没太看明白,“已经放出来了”是什么意思?是官方放出来了?还是您在哪节课程中放出来了?还是在哪里?谢谢2018-09-30
- 风雨无阻请问,增量检查具体是如何实现的?使用增量检查的话,sonar web 上黄颜色标识的leak部分还会有显示吗?leak period又该如何设置?2018-09-30
- 风雨无阻请问,增量检查如何实现?如果使用增量检查,那sonar web上的新增问题部分还会有结果吗?leak period 又该如何设置?2018-09-30
- 路漫漫Sonar 有哪些插件值得推荐?2018-08-30
收起评论