有没有一种巧妙的方法来组织存在于程序不同部分的单条件代码?

Is there a neat way to organize uni-conditional code that exists at different sections of a program?

例如,我想要这样的东西:

If(condition) object.start();

// Do some unrelated processing

If(condition) object.stop();

作为我希望发生的事情的一个简单例子。是否有任何与语言无关的方法来组织它,尤其是当您有更多条件代码行时?

我想你问这个是因为条件很贵或 non-repeatable。

一个典型的解决方案是在第一个 IF 中设置一个布尔变量,然后让第二个 IF 检查该布尔变量而不是 re-executing 条件。

boolVar=false
if (condition) {
  boolVar=true
  object.start()
}
// do unrelated stuff
if (boolVar) {
  object.stop()
}

另一种典型的解决方案是这样的:

if (condition) {
  object.start()
  doSomething()
  object.end()
} else {
  doSomething()
}

不要害怕简单的解决方案,如果它们足够好的话。 :)