1

我有一个代码,它有一个start()执行每个周期的函数。在其中我在这里和那里调用一个pause()函数。

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

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

编写此代码的最佳方法是什么?高手是怎么做到的?

更新:

我已经添加了我的代码。基本上我希望我pauseActivator做不止一个动作。

  1. 充当条件测试器并返回真或假。

  2. 实际调用暂停函数。

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

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);
}
4

1 回答 1

0

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

于 2013-01-24T16:47:44.827 回答