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

时间:2017-02-06 14:31:16

标签: if-statement language-agnostic code-organization

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

If(condition) object.start();

// Do some unrelated processing

If(condition) object.stop();

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

1 个答案:

答案 0 :(得分:2)

我想你是在问这个因为条件昂贵或不可重复。

一个典型的解决方案是在第一个IF中设置一个布尔变量,让第二个IF检查该布尔变量而不是重新执行该条件。

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

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

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

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