gpt4 book ai didi

code-metrics - HIS-公制 "calling"

转载 作者:行者123 更新时间:2023-12-04 05:10:38 26 4
gpt4 key购买 nike

我不明白这个指标/规则的原因:

A function should not be called from more than 5 different functions. All calls within the same function are counted as 1. The rule is limited to translation unit scope.



在我看来,这完全直观,因为这与代码重用以及将代码拆分为常用函数而不是重复代码的方法相矛盾。

有人可以解释理由吗?

最佳答案

首先要说的是,基于度量的质量方法本质上有点主观和近似。遵循度量方法来交付高质量的代码没有绝对性。

软件复杂性有两个因素需要考虑。一种是内部复杂性,由每个函数内的决策复杂性表示(最好用圈复杂度度量来说明)和容器内函数之间的依赖复杂性(翻译单元或类)。另一个是接口(interface)复杂性,测量协作和分层组件或类之间的依赖程度,包括循环依赖程度。在 C/C++ 世界中,这是跨越多个 TU。在 Structure101术语,复杂性的内部形式称为“脂肪”,外部形式称为“缠结”。

回到你的问题,这个 Hersteller Initiative 软件 “CALLING”指标针对的是内部复杂性(Fat)。他们的论点似乎是,如果您对单个函数有 5 个以上的引用点,则该 C++ 类或 C 实现文件中可能存在过多的实现逻辑,因此可能是时候分解成单独的模块或组件了。这似乎是对软件设计和结构的一种特殊限制,异常(exception)列表可能与此类判断可能适用的领域一样长。

关于code-metrics - HIS-公制 "calling",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44244875/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com