在函数中> <和 == 的最佳实践



我遇到了一个难题,我通常只使用一堆ifs或开关。

为了正确看待这一点,我目前正在从事的项目涉及比较图像的宽度和高度,以获得一个数字来确定宽度是否比高度长或相同。

这是我到目前为止的代码:

private function compare($width, $height)
{
    return $width - $height;
}

这如您所料。

我想知道的是是否有更好的方法来做到这一点:

    if($this->compare($this->width, $this->height) == 0)
    {
    }
    if($this->compare($this->width, $this->height) < 0)
    {
    }
    if($this->compare($this->width, $this->height) > 0)
    {
    }

谢谢

对于方法 compare() 返回的值,您只有三种可能性,因此我们只需要执行两个条件并且可以处理一个:

$recievedValue = $this->compare($this->width, $this->height);
if( $recievedValue == 0 )
{
     // The value is equal to 0
}
else if( $recievedValue < 0 )
{
    // The value is less than 0
}
else
{
    // The value is more than 0
}

你可以把它变成 psr2 投诉人:

if ($this->compare($this->width, $this->height) == 0) {
} elseif ($this->compare($this->width, $this->height) < 0) {
} else {
}

阅读更多:PSR-2 编码风格指南

相关内容

  • 没有找到相关文章

最新更新