我知道这可能是非常特定于用例的,但是我发现自己经常想知道这一点。是否有一般首选的语法。
我不是在问函数中最好的方法是什么,我是在问应该早退还是应该不调用函数。
如果在函数调用周围包装
if (shouldThisRun) {
runFunction();
}
具有if(保护)功能
runFunction() {
if (!shouldThisRun) return;
}
如果多次调用此函数,则后一种选项显然有可能减少代码重复,但是有时在此处添加它会带来错误,因为那样您可能会丢失该函数的单一职责。
这是一个例子
如果我有一个updateStatus()函数,该函数仅更新某些事物的状态。如果状态已更改,我只希望状态更新。我知道代码中状态可能发生变化的地方,也知道其他地方可能发生了变化。
我不确定它是否只是我自己,但是检查此内部函数感觉有点脏,因为我想使该函数尽可能保持纯净-如果我调用它,则希望状态得到更新。但是我无法说出将电话包裹在支票中的几个更好的地方,我知道它可能不会改变。