在圈复杂度或平均扇出之间,哪个是更重要的代码质量指标?

时间:2018-09-17 14:23:04

标签: static-analysis code-metrics cyclomatic-complexity

我是第一次研究TICS代码质量指标,我有这个问题。

许多人建议将大型功能分解为一个或多个功能,以使复杂度保持在15以下。这样做会增加给定功能调用的功能数量,因此平均扇出会增加。

我们是否应该决定减少扇出或减小圈复杂度?降低循环复杂性将提高可维护性,但是将功能拆分为2个或更多功能将增加函数调用的数量,这将占用最多的内存。

那么,这两个指标中哪个指标更重要?

2 个答案:

答案 0 :(得分:-1)

我怀疑您会找到一个明确的答案。总的来说,我建议不要为扇形复杂性而烦恼。您可以使用提取方法重构来降低方法的循环复杂性。假设您提取的新方法具有易于命名的特定用途,您将用这些条件的摘要(提取的方法)替换详细的逻辑(各种条件)。这应该使代码更易于阅读和维护。

答案 1 :(得分:-1)

所有软件质量指标(包括圈复杂度和扇出度)充其量都是对质量的不可靠衡量。我强烈警告不要仅仅为了它而尝试改进任何指标。

但是,可以可靠地使用指标来吸引您注意 可能需要注意的代码。如果某个类或方法在某个指标上得分不佳,则值得研究并确定是否确实存在应解决的问题,但开发人员的判断应最终决定应采取的措施。