Php PSR-2控制结构的开口支撑
有一件事我正试图理解,为什么在新行的类和方法有花括号,而其余的没有。我想说,如果花括号总是在新的一行上,那么阅读代码就容易多了Php PSR-2控制结构的开口支撑,php,psr-2,Php,Psr 2,有一件事我正试图理解,为什么在新行的类和方法有花括号,而其余的没有。我想说,如果花括号总是在新的一行上,那么阅读代码就容易多了 class Foo extends Bar implements FooInterface { public function sampleFunction($a, $b = null) { if ($a === $b) { } 有人能解释一下背后的逻辑吗: 控制结构的开口支撑必须位于同一行上,而闭合支撑必须位于主体后的
class Foo extends Bar implements FooInterface
{
public function sampleFunction($a, $b = null)
{
if ($a === $b) {
}
有人能解释一下背后的逻辑吗:
控制结构的开口支撑必须位于同一行上,而闭合支撑必须位于主体后的下一行上
我对这里的推理的理解基本上是为了防止连续代码块变得过长 例如,假设我有一个用PSR-2风格编写的50行函数。如果该函数包含10个
If()
条件和5个循环,那么根据您的规则,我的函数将有65行
因为它是一个单一的函数,所以我需要能够将它作为一个单一的实体来使用,所以能够同时看到它真的很有帮助。使用50行函数,这是可行的。如果函数长度为65行,则会变得更加困难
事实上,现在查看我的编辑器窗口,我一次可以看到30行,因此即使是50行函数也有点太长,如果不调整IDE中固定面板的大小或移除面板,就无法轻松管理
现在我知道干净的代码规则会说一个50行的函数太长了,需要重构。我同意这一点。但是猜猜看:50行或更多行的函数非常常见;我必须一直与他们打交道,他们身上不必要的空白越少,工作就越容易
但归根结底,这只是对其背后根本原因的一种解释
PSR-2采用这种方式的真正原因是,这就是意见一致性下降的原因。他们调查了所有框架和其他建立PHP编码标准的人。所有这些不同的标准之所以存在,是因为人们坐下来思考如何最好地格式化他们的代码。他们不同意,因为这是一个固执己见的主题,但有广泛的一致领域,这就是形成PSR标准的原因。有几个原因
PSR-2是一种观点。这不是对的,也不是错的;这只是做事的一种方式。这是由Conconsus的意见决定的,并且基于PHP世界中各种现有的编码标准,但是很多人做的事情都不一样,有些人甚至按照你建议的方式做。他们现在基本上适应了这个标准。但是如果你不喜欢它,你就不必跟着它。然而,你会发现,这些天大多数其他人都在关注它,所以你会孤注一掷。