PHP风格指南一致性

时间:2016-03-03 22:43:26

标签: php coding-style

对于我刚刚开始的新项目,我认为遵守我的代码的样式指南可能是个好主意。我有点习惯于自己的风格,但可以使用更多的结构,因为我的项目之间甚至有时在项目中有一些不同的东西。

现在我已经确定了这个样式指南: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;
}

关于这个主题的风格指南中没有任何内容。任何人都可以指出我正确的方向或只是告诉我在哪里可以找到关于“正确”的方式的更多信息。我意识到可能没有达成共识,但我想阅读你的意见。

1 个答案:

答案 0 :(得分:2)

你可以分开你的速记:

$this->errorMessage = isset($this->errorDefinitions[$errorNo])
    ? $this->errorDefinitions[$errorNo] 
    : $errorMessage;

请记住,简短的三元语句很棒......当它们简短而简单!但是,一旦您的条件变得更长,您只是使您的代码更难以阅读,理解并最终维护。这就是为什么PSR-2有行限制(部分)。

从我的角度来看,你的代码有点处于模糊区域。如上所述打破它是好的,但如果它更复杂(称为函数等),我会说放弃速记并使用if

最终,这是你的电话,正如你所指出的那样,PSR-2并没有落在这个问题上。

相关问题