持续交付 36 讲
王潇俊
携程系统研发部总监
39203 人已学习
新⼈⾸单¥59
登录后,你可以任选4讲全文学习
课程目录
已完结/共 42 讲
开篇词 (1讲)
结束语 (1讲)
持续交付 36 讲
15
15
1.0x
00:00/00:00
登录|注册

25 | 代码静态检查实践

你好,我是王潇俊,今天我和你分享的主题是:代码静态检查实践。
从这次分享开始,我们要正式开始分享测试管理系列这个主题了。测试管理本身是一个很大的范畴,而且和我们之前聊到过的环境、配置等关系密切。
因为这个专栏我们要解决的最主要的问题是持续交付,所以我在这个测试管理这个系列里面,不会去过多的展开测试本身的内容,而是要把重点放在与持续交付相关的三个重点上:
代码静态检查;
破坏性测试;
Mock 与回放。
这三个重点内容,我会分别用一篇文章的篇幅去解释。今天,我们就先从代码静态检查的实践开始吧。
虽然不同编程语言会使用不同的静态检查工具,但这些静态检查工具的工作原理和检查流程很类似。所以,为了更好地聚焦核心内容,我选择互联网公司常用的 Java 语言的静态检查来展开今天的分享。
如果你所在公司采用的是其他编程语言,那也没关系,相信你理解了这篇文章中关于原理、流程的内容后,也可以解决你所用具体语言的代码静态检查。如果在这个过程中,你还遇到了其他问题,欢迎你给我留言,我们一起去解决。

为什么需要代码静态检查?

代码静态检查,即静态代码分析,是指不运行被测代码,仅通过分析或检查源程序的语法、结构、过程、接口等检查程序的正确性,并找出代码中隐藏的错误和缺陷(比如参数不匹配、有歧义的嵌套语句、错误的递归、非法计算、可能出现的空指针引用等等)。
确认放弃笔记?
放弃后所记笔记将不保留。
新功能上线,你的历史笔记已初始化为私密笔记,是否一键批量公开?
批量公开的笔记不会为你同步至部落
公开
同步至部落
取消
完成
0/2000
荧光笔
直线
曲线
笔记
复制
AI
  • 深入了解
  • 翻译
    • 英语
    • 中文简体
    • 中文繁体
    • 法语
    • 德语
    • 日语
    • 韩语
    • 俄语
    • 西班牙语
    • 阿拉伯语
  • 解释
  • 总结
仅可试看部分内容,如需阅读全部内容,请付费购买文章所属专栏
《持续交付 36 讲》
新⼈⾸单¥59
立即购买
登录 后留言

全部留言(11)

  • 最新
  • 精选
  • 手指饼干
    第五步:在 GitLab 的 Merge Request 中增加 Sonar 静态检查的环节,包括检查状态和结果等。--请问这一步的具体思路是怎样的?

    作者回复: 提交mr之后,异步进行sonar扫描,过程中不允许接受mr,直到返回结果,允许进行操作。返回的结果可以进行判断,比如有严重问题的也不允许合并。携程的做法是记录第一次扫描的结果作为基线,之后的扫描不允许有问题的增加。gitlab需要作二次开发。目前我们也在尝试增量代码的检查,会使效率更高。

    1
  • 九脉一谷
    sonar代码走查,都有哪些指标的对代码质量具有很好的指导意义

    作者回复: 本身带有很多标准,对这些标准也有对应的分级,可以拿默认的规则适用一下的

    1
  • 怀揣梦想的学渣
    现在有了openAI的GPT-4,是不是代码检测的自动化程度会再次提高
    归属地:山东
  • 戴斌
    我们是在持续集成的时候使用sonar做静态检查。由于检查的时间长,已经调整为按天检查了。
    1
  • Daisy
    老师,您好!Visual studio 2017安装sonarlint插件,想配置成“编码时实时扫描”,但总是失败,请问老师有解决办法吗?
  • YoungerChina
    有没有与gerrit结合的静态检查工具,基于patch的增量检查,sonar可以吗。
  • 风雨无阻
    老师你好,您的回复我没太看明白,“已经放出来了”是什么意思?是官方放出来了?还是您在哪节课程中放出来了?还是在哪里?谢谢
  • 风雨无阻
    请问,增量检查具体是如何实现的?使用增量检查的话,sonar web 上黄颜色标识的leak部分还会有显示吗?leak period又该如何设置?
  • 风雨无阻
    请问,增量检查如何实现?如果使用增量检查,那sonar web上的新增问题部分还会有结果吗?leak period 又该如何设置?
  • 路漫漫
    Sonar 有哪些插件值得推荐?
收起评论
显示
设置
留言
11
收藏
沉浸
阅读
分享
手机端
快捷键
回顶部