代码质量之 source Monitor

原创
2021/11/18 11:00
阅读数 21

--------测试结果描述:
总行数(Lines):包括空行在内的代码行数;
语句数目(Statements):在C语言中,语句是以分号结尾的。分支语句if,循环语句for、while,跳转语句goto都被计算在内,预处理语句#include、#define和#undef也被计算在内,对其他的预处理语句则不作计算,在#else和#endif、#elif和#endif之间的语句将被忽略;
分支语句比例(Percent Branch Statements):该值表示分支语句占语句数目的比例,这里的“分支语句”指的是使程序不顺序执行的语句,包括if、else、for、while和switch;
注释比例(Percent Lines with Comments):该值指示注释行(包括/*……*/和//……形式的注释)占总行数的比例;
函数数目(Functions):指示函数的数量;
平均每个函数包含的语句数目(Average Statements per Function):总的函数语句数目除以函数数目得到该值;
函数圈复杂度(Function Complexity):圈复杂度指示一个函数可执行路径的数目,以下语句为圈复杂度的值贡献1:if/else/for/while语句,三元运算符语句,if/for/while判断条件中的"&&"或“||”,switch语句,后接break/goto/ return/throw/continue语句的case语句,catch/except语句;
函数深度(Block Depth):函数深度指示函数中分支嵌套的层数。
对其他语言,SourceMonitor输出不同的度量值,例如在C++度量值中包括类的数目(Classes),在HTML中包括各个标签的数目(HTML Tags)、超链接数目(Hyperlinks)等。

--------测试方法:
新建工程,包含头文件和cpp文件,注意勾选是否支持utf-8.
查看检测结果。以及详细结果。

--------测试概要结果:

--------衡量标准:
平均圈复杂度不超过5,
最大圈复杂度不超过10或者20.
注释比例:大于10%.
函数数目:不能超过20个。
函数深度:
文件行数:不能超过10000行。
class定义个数:不能超过3-5个。
语句数目:不能超过200个。
分支语句比例:不能超过30%。
函数个数:不能超过30个。
函数圈复杂度:不需要考虑,只看最大和平均即可。
 

代码修复:

迭代修复,修复后通过单元、集成、e2e检测。

 

展开阅读全文
打赏
0
0 收藏
分享
加载中
更多评论
打赏
0 评论
0 收藏
0
分享
返回顶部
顶部