代码质量衡量指标

分享
源码 2024-9-30 09:22:37 86 0 来自 中国
好书保举

1.jpg 代码质量衡量指标可以分为两部分:计划规约和代码规范。计划规约是头脑,代码规范是头脑的具体实现。
《计划规约》有以下部分:

  • 扩展性
  • 可读性
  • 维护性
  • 容错性
  • 结实性
  • 鲁棒性
  • 高内聚/低耦合
《代码规范》有以下部分:

  • 编码规范:是否服从了编码规范,遵照了最佳实践。
  • 匿伏的BUG:大概在最坏情况下出现标题标代码,以及存在安全毛病的代码。
  • 文档和注释:过少(缺少须要信息)、过多(没有信息量)、过期的文档或注释。
  • 重复代码:违背了Don’tRepeat Yourself原则。
  • 复杂度:代码结构太复杂(如圈复杂度高),难以明白、测试和维护。
  • 测试覆盖率:编写单位测试,特别是针对复杂代码的测试覆盖是否充足。
  • 计划与架构:是否高内聚、低耦合,依靠最少。
扩展性

扩展性指的是代码在不改动大概改动代码少少的情况下,可以支持新增业务大概新增功能。
可读性

可读性指的是代码可以很轻易读懂大概耗费很少的时间读懂。
维护性

维护性是基于可读性,代码可读性强了,那么维护起来就更轻易。
容错性

容错性指的是在你处理处罚业务逻辑的时间,要抓取非常,在非常内里处理处罚错误信息,代码流程是继续还是停止。
结实性

结实性是指软件对于规范要求以外的输入情况的处理处罚本事。所谓结实的体系是指对规范要求以外的输入可以或许判定出这个输入不符合规范要求,并能有公道的处理处罚方式。
鲁棒性

鲁棒是Robust的音译,也就是结实和矫健的意思。所谓“鲁棒性”,是控告制体系在肯定(结构,巨细)的参数摄动下,维持某些性能的特性。根据对性能的差别界说,可分为稳固鲁棒性和性能鲁棒性。以闭环体系的鲁棒性作为目的计划得到的固定控制器称为鲁棒控制器。
鲁棒性(robustness)就是体系的结实性。它是指一个步伐中对大概导致步伐瓦解的各种情况都充实思量到,而且作相应的处理处罚,在步伐遇到非常情况时还能正常工作,而不至于死机。
失败计划头脑
失败计划头脑是鲁棒性中很好的头脑,该头脑要贯穿代码生命周期始终,把失败看成代码计划中公道存在,提前准备好从运行失败的场景中规复。提倡防御式编程头脑,拒绝左券式编程。入参判空、有用性查验。体系计划时辨认弱依靠,并针对性地计划降级、限流等应急预案,包管焦点逻辑正常可用。在思量主干功能的同时,要充实思量评估非常流程与业务边界。
高内聚/低耦合

软件计划中通常用耦合度和内聚度作为衡量模块独立水平的尺度。分别模块的一个准则就是高内聚低耦合。
耦合性
耦合性也称块间接洽。指软件体系结构中各模块间相互接洽精密水平的一种度量。模块之间接洽越精密,其耦合性就越强,模块的独立性则越差。模块间耦合高低取决于模块间接口的复杂性、调用的方式及转达的信息。
内聚性
内聚性又称块内接洽。指模块的功能强度的度量,即一个模块内部各个元素相互联合的精密水平的度量。若一个模块内各元素(语名之间、步伐段之间)接洽的越精密,则它的内聚性就越高。
耦合性与内聚性是模块独立性的两个定性尺度,将软件体系分别模块时,只管做到高内聚低耦合,进步模块的独立性,为计划高质量的软件结构奠定根本。
参考文章
https://www.zhihu.com/question/304499849/answer/1926930568
https://www.zhihu.com/question/30948927/answer/1968677650
您需要登录后才可以回帖 登录 | 立即注册

Powered by CangBaoKu v1.0 小黑屋藏宝库It社区( 冀ICP备14008649号 )

GMT+8, 2024-10-18 18:24, Processed in 0.168124 second(s), 35 queries.© 2003-2025 cbk Team.

快速回复 返回顶部 返回列表