首页 > 编程知识 正文

胡夫金字塔打开了吗,记忆效率金字塔

时间:2023-05-05 21:58:54 阅读:174403 作者:372

infusion度量金字塔的数据表明infusion可以检测到超过20个代码的味道和代码缺陷。 这包括重复代码、破坏封装的类(如数据类或万能类)、高耦合的方法和类以及设计不当的类继承结构。 使用inFusion工具分析代码时,分析屏幕的左上方会显示代码数据度量窗口。 本节详细介绍了度量字段数据。 这样可以获得对整个代码的宏观认识。 您还可以预测代码中可能出现的问题,例如类的功能是否单一、成员方法是否过于复杂、继承深度是否合理。

度量数据的具体例子如下所示。

考虑到上面照片的数据模糊,下面手动显示上面照片的黑色框中的数据。 NDD 0.61

HIT 1.58

20.0 NOP 30

8.81 NOC 600

9.22 NOM 5287 NOM 1.56

0.14 loc 48791 8298呼叫0.37

CYCLO 7007 3076 FOUT

顶级NDD、HIT分别指类的平均继承宽度和平均继承深度

平均继承幅度:类继承树、子类占所有类的比例,合理范围0.2~0.6

平均继承深度:类继承树、继承层次、多块继承树取平均值,合理范围为0.1~0.3

左侧CYCLO环复杂度FOUT方法的扇出次数

LOC代码行数调用CALL方法(扇入)的次数

NOM方法数NOM方法数

NOC等级数

NOP package数、C/C中指目录数

左斜面平均每包班级数为600/30=20.0

平均每类方法数为5287/600=8.81

每个方法的平均代码行数48791/5287=9.22

循环复杂度(CYCLO/LOC ) 7007/48791=0.14

在右边的斜坡上

每个方法的平均调用次数8298/5287=1.56

扇出扇入比3076/8298=0.37

扇入和扇出在软件设计中,扇出的概念是指APP模块之间的层次调用情况。

根据结构化设计方法,一个APP由多个功能相对独立的模块构成。

扇入:直接调用该模块的上级模块数。 扇入较大表示模块复用度较高。

扇出:该模块直接调用的下级模块数。 扇出大表示模块复杂度高、控制与协调过多的下级模块; 但是扇太小了,(比如总是1 )也不好。 扇出过大一般是因为中间层不足,应该适当增加中间层的模块。 扇出太小时,可以将下级模块进一步分解为若干个子功能模块,或者合并为其上级模块。

良好的软件结构,通常顶层扇出比较大,中级扇出小,底层模块有较大的扇出。

参考资料6种可定量分析的代码味道

信息官方网站

posted on 2015-08-1716336007 octo cat阅读(…)注释…)编辑收藏于:https://www.cn blogs.com/zhoulee/p/4736865.html

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。