Swift之家iOS之家Android之家

代码质量衡量指标

2022-07-14  本文已影响0人  小小土豆dev

好书推荐

微习惯

代码质量衡量指标可以分为两部分:设计规约和代码规范。设计规约是思想,代码规范是思想的具体实现。

《设计规约》有以下部分:

《代码规范》有以下部分:

扩展性

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

可读性

可读性指的是代码可以很容易读懂或者花费很少的时间读懂。

维护性

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

容错性

容错性指的是在你处理业务逻辑的时候,要抓取异常,在异常里面处理错误信息,代码流程是继续还是停止。

健壮性

健壮性是指软件对于规范要求以外的输入情况的处理能力。所谓健壮的系统是指对规范要求以外的输入能够判断出这个输入不符合规范要求,并能有合理的处理方式。

鲁棒性

鲁棒是Robust的音译,也就是健壮和强壮的意思。所谓“鲁棒性”,是指控制系统在一定(结构,大小)的参数摄动下,维持某些性能的特性。根据对性能的不同定义,可分为稳定鲁棒性和性能鲁棒性。以闭环系统的鲁棒性作为目标设计得到的固定控制器称为鲁棒控制器。

鲁棒性(robustness)就是系统的健壮性。它是指一个程序中对可能导致程序崩溃的各种情况都充分考虑到,并且作相应的处理,在程序遇到异常情况时还能正常工作,而不至于死机。

失败设计思维
失败设计思维是鲁棒性中很好的思维,该思维要贯穿代码生命周期始终,把失败当作代码设计中合理存在,提前准备好从运行失败的场景中恢复。倡导防御式编程思想,拒绝契约式编程。入参判空、有效性检验。系统设计时识别弱依赖,并针对性地设计降级、限流等应急预案,保证核心逻辑正常可用。在考虑主干功能的同时,要充分考虑评估异常流程与业务边界。

高内聚/低耦合

软件设计中通常用耦合度和内聚度作为衡量模块独立程度的标准。划分模块的一个准则就是高内聚低耦合。

耦合性
耦合性也称块间联系。指软件系统结构中各模块间相互联系紧密程度的一种度量。模块之间联系越紧密,其耦合性就越强,模块的独立性则越差。模块间耦合高低取决于模块间接口的复杂性、调用的方式及传递的信息。

内聚性
内聚性又称块内联系。指模块的功能强度的度量,即一个模块内部各个元素彼此结合的紧密程度的度量。若一个模块内各元素(语名之间、程序段之间)联系的越紧密,则它的内聚性就越高。

耦合性与内聚性是模块独立性的两个定性标准,将软件系统划分模块时,尽量做到高内聚低耦合,提高模块的独立性,为设计高质量的软件结构奠定基础。

参考文章
https://www.zhihu.com/question/304499849/answer/1926930568
https://www.zhihu.com/question/30948927/answer/1968677650

上一篇下一篇

猜你喜欢

热点阅读