首页 > 解决方案 > if not then return 或 if then do 的技术差异

问题描述

我有一个问题,可能听起来很简单,但我试图了解我们在代码中编写条件语句的方式或是否会产生任何技术差异。这里我说的是 PHP,但它也可能适用于其他语言。

我想了解两者之间是否有任何区别

检查如果不是然后返回

function my_func($var or $val)
{
    if ($var != $val) {
        return false;
    }

   // do the stuff ...

}

检查如果然后做

function my_func($var or $val)
{
    if ($var == $val) {
        // do the stuff ...
    }

   return false;

}

我可以假设在 IF NOT 中重新调整会在性能上更好,因为如果条件不匹配它甚至不会通过代码。但是,这也适用于另一种方法。那么哪个更好还是取决于情况?

标签: phpif-statementconditional-statements

解决方案


大多数语言可能没有性能影响,因此您可以专注于清晰的表示。在大多数情况下,最好保持内部代码块更小并更早返回,因此更可取的解决方案取决于“do the stuff”块的大小。如果是单线,那么我更喜欢第二个例子;如果不是 - 我更喜欢第一个例子,因为只是返回是单行的,我不想在嵌套块中编写很多代码。

如果两个分支if都是单行的,我更喜欢避免不必要的否定。它不会影响性能,但会稍微影响阅读。


推荐阅读