假设我有一些函数(例如method1()
和method2()
),并且只有在满足某些条件时才应该执行这些函数中的每一个(对于这个简单的示例,将其称为对布尔值的检查)。为了隔离条件检查,我将检查放在每个函数中 - 例如
void method1()
{
if (bDoSomething) {
doSomething1();
doSomething2();
}
}
void method2()
{
if (bDoSomething) {
doSomething1();
doSomething3();
}
}
但是,这些doSomethingN()
函数也可以在method1()
and之外单独调用method2()
,因此我将条件检查添加到每个doSomethingN()
函数中 - 例如。
void doSomething1() {
if (bDoSomething) {
doWork1();
}
}
此外,假设method1()
和method2()
可以从同一个函数中调用 - 例如。
void func1() {
method1();
method2();
}
这会导致在调用或func1()
时对同一条件进行多次检查。避免多重检查的更好方法是什么?method1()
method2()
有没有关于如何最好地设计/构建程序以最小化这种事情的好资源?