0

如果满足条件,编写一个有效执行一条语句的非常简单的函数的最易读的方法是什么?

我觉得最具可读性的是:

function doSomething(myNumber){
    if(myNumber !== null && myNumber > 5){
        doTheThing();
    }
}

然而,我的同事坚持认为保护子句使任何东西都更具可读性,并且总是这样编写这个函数:

function doSomething(myNumber){
    if(myNumber === null || myNumber <= 5)
        return;
    doTheThing();
}

我知道保护子句在更大的函数中更具可读性,尤其是在需要检查多个条件和/或需要抛出异常的情况下。但是在这样的情况下,我总是需要做三遍才能了解在哪种情况下会执行 doTheThing() ,这对于这样一个简单的函数来说似乎很荒谬。

4

1 回答 1

1

这不是一个真正的技术问题,而是一个风格的选择。

您可以通过多种方式编写该函数,编译器将尝试尽可能优化它。至于“可读性”,这完全取决于程序员的选择。只要您遵循语言规则和标准,那么任何选择都可以。当然,如果你在一个团队中工作,最好就某种风格达成一致,这样每个人都可以在代码上工作而不会感到困惑。

就个人而言,如果我真的想让它可读,我会这样做:

function doSomething(myNumber)
{
   if(myNumber != null && myNumber > 5)
   {
       doTheThing();
   }
}

另一方面,如果我想要更少的代码行,我会选择这个:

function doSomething(myNumber)  {
    if(myNumber == null || myNumber <= 5)  return;
    doTheThing();
}

同样重要的是要考虑if语句应该如何。在这种情况下,您涵盖了所有可能性,但请记住它以避免意外错误。

于 2021-04-03T02:23:12.757 回答