Magento编码标准


40

我最近开始MagentoCode sniffer广泛合作,我想知道应该遵循哪些标准。

我尝试了Zend编码标准,但是我不想使用80行限制,并且内核中也没有使用它。

在那之后,我尝试了CS2标准,但是由于_in函数和类名中包含各种功能_而没有名称空间,因此这也不起作用。

那么,核心代码是否还有100%符合的标准?如果没有,magento是否应该有自己的编码标准?它有自己的stackexchange网站,扩展开发人员将欢迎使用一些定义明确的编码标准。

Answers:



18

Magento的最佳实践是相当不错的乔希普拉特描述这里。他建议采用和遵循Zend代码样式标准,我只能加入他的行列。

所述最大行长度是不是严格的要求。但是,从可读性的角度来看,不建议使用太长的行。


2
谢谢,我将ruleset.xml切换为每行允许120个字符,这样我的IDE中就不会出现讨厌的错误了:)
Vlad Preda 2013年

1
下面是Magento的2规则:raw.github.com/magento/magento2/master/dev/tests/static/...。据说他们很可能在Magento 1.x上使用它们。
鲍勃·布罗迪

1
蒂姆,您认为我们应该使用Magento代码嗅探吗? magento.stackexchange.com/a/8743/41
kalenjordan 2013年

1
@BobBrodie-我正在管理Magento 1.x,但我不知道Magento 1.x会有这种更改。这将是一个巨大且不必要的更改,无缘无故导致巨大差异。Magento 1的编码标准是ZF +,Magento 2的编码标准是PSR-1 / 2。请参阅Zyava对“官方”嗅探器的回答。
Piotr Kaminski 2013年


11

我想提出,我们应该将Magento 2代码嗅探作为Magento 1.X和2.X的标准:https : //github.com/cobhimself/phpcs-magento-rules/blob/master/ ruleset.xml

这实际上是该规则集作为独立存储库的镜像:https : //github.com/cobhimself/phpcs-magento-rules



2
好电话啊。我认为我发布的链接是在Magento 2 github讨论中引用的...任何想法是否/您发布的链接有何不同?当然,这是一个更具权威性的github帐户。
kalenjordan

2

这篇文章有点旧(2008年),但我想它仍然有效:

Magento是否遵循ZF编码标准?是

除少数例外,例如:

  • 模板中允许使用简短的开放标签。
  • 串联点不包含在空格中。
  • 长行硬包装的压痕应始终向前一个软键。

编辑当Tim在评论中发表意见时,Magento核心模板中没有短的开放标签,最好不要使用它们,因为不建议使用它们(请参见此处)。

但是我给您的建议...由于您正在编写自己的模块,因此请使用自己的编码风格。根据我的经验,如果您一天遵循Magento编码风格,而第二天遵循Wordpress编码风格,那么您以自己的风格编写代码时所犯的错误就会更少,因为您正在为另一个网站项目编写模块。


2
我完全不同意。社区扩展必须对其他人可读。
user487772 2013年

2
而且我从没在Magento中看到短标签。
user487772 2013年

1
观点。自从我有多年使用不同编程语言在不同项目上进行编程的经验以来,无论编码风格如何,我都从未遇到过读取结构良好的代码的麻烦,但是涉及到在项目和项目之间快速切换时,在编写代码时,在自己的代码中使用相同的样式要比保持代码样式与团队外部的其他样式的兼容性要好得多。
梅·弗兰卡

@DomenVrankar并不认为您的代码样式结构合理且可读性还很高吗?尽管Zend之类的团队背后有很多人来决定哪种风格是世界闻名的。只是
值得

我也不同意。
sv3n
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.