华为云高质量代码看护之道
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
程序员都怕bug bug是评估代码质量最直观的方式
图片来源:网络
代码质量的评价标准:ISO对软件质量模型的描述
ISO质量体系的10年变迁,增加了两个大项,更关注质量与易用性
ISO/IEC9126-1:2001 software product quality model
ISO/IEC25010:2011 system and software product quality model.
最佳实践,提供代码质量看护解决方案 全面:1000+条规则,覆盖主流的10种语言和场
代码安全与质量
资源文件
依赖包
资源文件合规与安全
依赖包的安全漏洞
漏洞详情
修复建议
景,多维度代码质量进行看护 精准:灵活定义规则集,击中企业最关心的问题; 精准定位漏洞所在代码行,提供准确修复建议。
反馈
是否屏蔽
覆盖了主流的语言和场景:TIOBE Top10的7种语言
不提具体的质量指标,质量的看护通过150+工具,从各个维度进
行检测并改进
代码质量看护哲学
• • • 定义明确的代码质量标准,在研发过程持续检测与反馈 质量标准根据团队,组织的实际情况设置 要保证可落地 • • 有具体的工具支撑 代码的问题,需要提供明确的修复建议,否则很难落地
来源 Tricorder: Building a Program Analysis Ecosystem
编码风 格
代码检 查服务
依赖包 安全漏 洞
可定制企业自己的质量标准:定制规则集
系统自定义规则集: 定制规则集:
质量的持续看护:质量看板及问题描述
Q&A
THANK YOU
Байду номын сангаас
1 2 3
如何评估代码质量 华为与业界代码质量看护实践 华为云的代码质量看护解决方案
华为代码质量看护的实践:通过代码质量标准看护
质量指标 圈复杂度 单函数代码行 文件代码行 代码重复率 目标 平均圈复杂度 < x 最高圈复杂度 < xx 平均 < xx 最高 < xxx < xxxx < x% 控制 发布控制 合入控制 发布控制 合入控制 度量牵引 发布控制
高质量代码看护之道
-- 代码质量看护实践
1 2 3
如何评估代码质量 华为与业界代码质量看护实践 华为云的代码质量看护解决方案
质量代码是敏捷和DevOps的基础
图片来源:John Allspaw’visual
DevOps的核心价值:交付周期由慢变快。代码质量是交付周期变快的基础。
高质量评价:不仅仅是“Bug”
来源:https://www.tiobe.com
七个维度,覆盖了大部分的代码质量问题
TIOBE质量指标 代码覆盖率 圈复杂 度 代码安 全 架构问 题 代码重 复率 抽象解析 圈复杂度 编译器告警 编码风格 重复代码 Fan Out 代码安全 架构问题 需要编译 说明 需要动态执行 编码缺陷
编码缺 陷
文件重复率 静态检查工具缺陷告警
白盒代码覆盖率 黑盒代码覆盖率
华为对质量的敬畏 我们对客户的承诺 质量是我们的自尊心
< x% 0
> xx% > xx%
发布控制 发布控制 合入控制
合入控制 发布控制
Google的代码质量看护实践:质量标准固化到工具
提交到代码仓库的代码都要经过工具检测
来源 Tricorder: Building a Program Analysis Ecosystem
1 2 3
如何评估代码质量 华为与业界代码质量看护实践 华为云的代码质量看护解决方案
华为云代码质量看护解决方案:由代码检查服务承载
软件开发服务(DevCloud)
项目管理
配置管理
代码检查
编译构建
生成
代码检查
测试
部署
发布
流水线
提交代码
触发检查
代码仓库
代码
报告 质量评估
专业:华为30年代码质量与安全经验,结合业界
软件质量的评价是多维度,全方位的 ISO只提出了软件质量模型,落实到哪些检测的方式,需要业界做更多的工作
TIOBE Quality Indicator:一个业界的代码质量体系
来源:https://www.tiobe.com
把ISO质量体系的8大项,转换成可以自动度量的8个维度 通过评价代码质量,来评价软件质量