小编DRG*_*DRG的帖子

如何在 Java 中重构一大块 if 语句?

我最近使用 JVisualVM 分析了一些代码,发现一种特定方法占用了大量执行时间,原因是频繁调用和执行时间缓慢。该方法由一大块 if 语句组成,如下所示:(在实际方法中大约有 30 个)

    EcState c = candidate;

    if (waypoints.size() > 0)
    {
        EcState state = defaultDestination();
        for (EcState s : waypoints)
        {
            state.union(s);
        }
        state.union(this);
        return state.isSatisfied(candidate);
    }

    if (c.var1 < var1)
        return false;
    if (c.var2 < var2)
        return false;
    if (c.var3 < var3)
        return false;
    if (c.var4 < var4)
        return false;
    if ((!c.var5) & var5)
        return false;
    if ((!c.var6) & var6)
        return false;
    if ((!c.var7) & var7)
        return false;
    if ((!c.var8) & var8)
        return false; …
Run Code Online (Sandbox Code Playgroud)

java refactoring if-statement decomposition

3
推荐指数
1
解决办法
2628
查看次数

标签 统计

decomposition ×1

if-statement ×1

java ×1

refactoring ×1