对于我刚刚开始的新项目,我认为遵循代码的样式指南可能是个好主意。我已经为自己确定了一种风格,但可以使用更多的结构,因为我的项目之间甚至有时在项目内部都有一些不同的东西。
现在我已经确定了这个风格指南:http://www.php-fig.org/psr/psr-2/
问题是,它说将代码行限制为 80 个字符,所以我在 ST3 中设置了该限制的标尺。我只是不确定在多行上拆分代码的好做法是什么。您将如何拆分下面的代码(它已经缩进了 8 个空格)?
$this->errorMessage = (isset($this->errorDefinitions[$errorNo])) ? $this->errorDefinitions[$errorNo] : $errorMessage;
或者最好通过放弃速记表达而只写来符合指南:
if (isset($this->errorDefinitions[$errorNo])) {
$this->errorMessage = $this->errorDefinitions[$errorNo];
} else {
$this->errorMessage = $errorMessage;
}
样式指南中没有关于此主题的内容。谁能指出我正确的方向,或者告诉我在哪里可以找到有关"正确"方法的更多信息。我知道在这样做的方式上可能没有达成共识,但我想阅读您的意见。
您可以跨行分解速记:
$this->errorMessage = isset($this->errorDefinitions[$errorNo])
? $this->errorDefinitions[$errorNo]
: $errorMessage;
请记住,速记三元语句很棒...当它们简短而简单时!但是一旦你的条件变长,你只会让你的代码更难阅读、理解和最终维护。这就是为什么PSR-2有线路限制(部分)。
从我的角度来看,您的代码有点模糊区域。像上面这样分解它是可以的,但如果它更复杂(称为函数等),我会说放弃速记并采用if
。
最终,这是您的电话,正如您指出的那样,PSR-2不会在这个问题上着陆。