2013-01-18 50 views
1

我有一个代码,它有一个执行每个循环的start()函数。我在这里和那里调用一个pause()函数。重构代码 - 一般处理方法

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

据我所知,我现在必须创建一个单独的函数,它将调用pause()函数。但是,就我所知,它感觉像一个迷宫,我迷路了。

什么是最好的方式来编码?专业人员如何做到这一点?

更新:

我已经添加了我的代码。基本上我想我的pauseActivator做多个动作。

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

  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

向我们展示一些代码! – MrSmith42

+1

C++,Java和JavaScript是非常不同的语言。我真诚地怀疑你正在使用他们三个。 –

+0

使用IDE(重构:*提取方法*) – MrSmith42

回答

0

我建议你使用DoPause暂停并且有一个函数返回暂停状态。具有实际暂停的“隐藏”副作用的测试功能可能会导致问题。

+0

我知道函数只应执行一项任务。但是,我想捆绑这两个操作,所以编程方式将我的代码集中到一个函数中。 – airnet