重构代码 - 处理它的一般方法

时间:2013-01-18 22:12:31

标签: javascript algorithm language-agnostic refactoring

我有一个代码,它具有start()函数,可以执行每个循环。在其中我在这里和那里调用pause()函数。

我现在必须变得更加聪明,我根据某些条件调用pause()。在某些地方,它是在其他地方不需要的条件下执行的。

我知道我现在必须创建一个单独的函数来调用pause()函数。但就我而言,这就是我的意思。感觉就像一个迷宫,我迷路了。

对此进行编码的最佳方法是什么?专业人士如何做到这一点?

更新

我添加了我的代码。基本上我希望我的pauseActivator做多个动作。

  1. 充当条件测试者并返回true或false。

  2. 实际调用暂停功能。

  3. 也许我不应该让我的功能这样做?

    void doPause() {
       //call system default pause function()
    }
    
    bool pauseOn = true;
    string myPauseTime = "02:30";
    bool pauseTimeReached = false;
    
    bool pauseActivator() {
        if(pauseOn && systemTime() == myPauseTime){
            pauseTimeReached = true;
            doPause();
        } 
        return (pauseTimeReached);  
    }
    
    int start() {
        if(maxMovement > 500 && pauseActivator()) {
            if(maxA() && secondMovement==600) {
                pauseActivator();
            }
        }
        return(0);
    }
    

1 个答案:

答案 0 :(得分:0)

我建议您使用DoPause进行暂停,并具有返回暂停状态的功能。具有实际暂停的“隐藏”副作用的测试功能可能会导致问题。