在订购方面哪个更好?你把故障情况放在顶部还是底部?
if (noProblems == true) { // do stuff } else { // deal with problem }
要么
if (noProblems == false) { // deal with problem } else { // do stuff }
Steven A. Lo.. 47
我想首先消除错误情况 - 并提前从函数返回,以便'幸福路径'保持不嵌套,例如
if (some error condition) { //handle it return; } //implicit else for happy path ...
如果很容易确定导致幸福路径的条件,那么请务必先将该条款放入(感谢Marcin!)
我想首先消除错误情况 - 并提前从函数返回,以便'幸福路径'保持不嵌套,例如
if (some error condition) { //handle it return; } //implicit else for happy path ...
如果很容易确定导致幸福路径的条件,那么请务必先将该条款放入(感谢Marcin!)
也许这取决于语言惯例或其他因素,但我觉得名义上的案例应该在顶部,而分支应该包含特殊条件.它使代码更容易阅读.当存在许多异常情况时尤其如此,并且在大多数情况下存在.您将能够轻松地假设作者希望在大多数时间内使用此特定路径,并以这种方式更容易理解代码.
从"代码完成,第2版"第15.1节:
通过将最常见的案例放在第一位,您可以最大限度地减少必须阅读以查找常见案例的异常案例处理代码的数量.您可以提高效率,因为您最大限度地减少了代码执行的测试次数,以便找到最常见的情况.