java - 如何降低 if 条件中的圈复杂度?

标签 java cyclomatic-complexity

在 if 条件如下:

if( condition1 || condition2 || condition3 || condition4 || condition5)

当条件相互独立时,代码复杂度往往会很高,有没有办法重构这个逻辑来降低复杂度?

这里的条件可以表示进行验证并返回 boolean 值的方法。

为了清楚起见,我添加了一个代码片段:

public void doSomething(boolean val, boolean val2, boolean val3, boolean val4, boolean val5, boolean val6)
    {
        if(val || val2 || val3|| val4|| val5|| val6)
        {
            System.out.println("hello");
        }
        else{
            System.out.println("hello world");
        }
    }

上述代码片段的复杂度为 7。

如何减少它?

最佳答案

可能会为每个条件填充 boolean 标志,并在 if 语句中使用这些标志。我认为这也会提高可读性。

关于java - 如何降低 if 条件中的圈复杂度?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42224595/

相关文章:

cyclomatic-complexity - 函数/方法中的 token 计数究竟是什么?

java - 这个时间戳的格式是什么? 2015-02-25T15 :03:57+0000

java - 我在 spring/hibernate 中使用什么 mysql 驱动程序?

java - Maven 未拉下正确的 JClouds-Chef 依赖关系树

java - 将方法的复杂度降低 14

javascript - 如何降低 JavaScript 代码中的循环复杂度?

java - IPv6组播本地部署的pub/sub系统,需要指定接口(interface)吗?

java - 尝试自动递增数据时获取 "ArrayIndexOutOfBoundsException"

design-patterns - 为什么策略设计模式适用于降低代码的圈复杂度?

c# - 圈复杂度,多少算太多?