我最近在我的C++代码库上运行了CCCC并收到了很多红色标记(在代码库中可以看到CCCC的示例输出(不是我的代码库)).我知道红色标记可能是由于基本的复杂性或偶然的复杂性,但CCCC并不区分这两者.我最关心的是我的代码库中名为" Henry and Kafura的信息流复杂性 " 的模块化度量值,它有很多红色标记.是否有任何工作描述任何工作流程建议或减少红色标记数量的处方?
小智 5
考虑到所涉及的课程,这些红色标记是可以预期的.
双方string并ostream具有高扇入,但零扇出.这意味着您将数据放入字符串或将数据发送到ostreams.使用16个模块string并非不合理,16个模块也不使用ostream.
您的CDistribution模块具有适度的扇入和扇出,这意味着多个模块会向其发送数据,而多个模块会从中接收数据.据推测这就是它被称为CDistributor的原因,因为它将模块中的某些东西分发到其他模块,而不会直接了解彼此.据推测这是设计的.
您可以通过删除架构并让模块直接相互调用来删除CDistribution的红色标记!当然,这不是一个严肃的建议.您的体系结构似乎是合理的,仅在CDistribution上有红色标记表示您已将所有这些依赖项压缩到一个明确定义的位置,这是一件好事.
作为去除红印string和ostream,你必须减少对这些类别的相关性,但它们是基础类.想象一下全局整数+运算符的"扇入"有多大!有些东西只是经常使用,这就是你所看到的.
| 归档时间: |
|
| 查看次数: |
209 次 |
| 最近记录: |