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