Magentoコーディング標準


40

私は最近MagentoCode snifferとの広範囲にわたる作業を開始しました。どの標準に従うべきかを知りたいです。

Zendコーディング標準を試しましたが、80行の制限を使用したくありません。コアでも使用されていません。

その後、CS2標準を試しましたが_、さまざまな関数や、名前_がなく名前が含まれていないクラス名が原因で機能しません。

それで、コアコードが100%に準拠している別の規格はありますか?そうでない場合、magentoに独自のコーディング標準を設定すべきではありませんか?独自のstackexchangeサイトがあり、いくつかの明確に定義されたコーディング標準が拡張開発者によって使用されることを歓迎します。

回答:



18

Magentoのベストプラクティスは、Josh Prattがここで説明しています。彼はZend Code Style Standardsを採用し、それに従うことを提案し、私は彼にしか参加できません。

最大の行の長さは、厳密な要件ではありません。ただし、読みやすさの観点から、長すぎる行は推奨されません。


2
おかげで、ruleset.xmlを行ごとに許可されている120文字に切り替えたため、IDEで厄介なエラーが発生しません。)
Vlad Preda

1
Magento 2のルールは次のとおりです。raw.github.com / magento / magento2 / master / dev / tests / static / 。Wordは、Magento 1.xで使用する可能性が非常に高いということです。
ボブ・ブロディ

1
ティム、Magentoのコードスニフを使用すべきだと思いますか? magento.stackexchange.com/a/8743/41
kalenjordan

1
@BobBrodie-私はMagento 1.xを管理していますが、Magento 1.xでこのような変更が行われることを知りません。これは大きくて不必要な変更であり、理由もなく大きな差分になります。Magento 1のコーディング標準はZF +、Magento 2はPSR-1 / 2です。「公式」スニファーに対するZyavaの回答をご覧ください。
ピョートルカミンスキー


11

Magento 1.Xと2.Xの両方の標準としてMagento 2コードスニフを使用する必要があることを送信したいと思いますhttps : //github.com/cobhimself/phpcs-magento-rules/blob/master/ ruleset.xml

そして、基本的にスタンドアロンリポジトリとしてのそのルールセットのミラーです:https : //github.com/cobhimself/phpcs-magento-rules


1
私は個人的に使用しています:github.com/magento-ecg/coding-standard
B00MER

2
いいね 私が投稿したリンクは、Magento 2のgithubのディスカッションで参照されたものだと思います...投稿したものが異なる場合、どのように考えますか?確かに、より権威のあるgithubアカウントです。
-kalenjordan

2

この投稿は少し古い(2008)が、まだ有効だと思う:

MagentoはZFコーディング標準に準拠していますか?はい

次のようないくつかの例外を除きます。

  • テンプレートでは短いオープンタグが許可されています。
  • 連結ドットはスペースで囲まれていません。
  • 長い行のハードラップのインデントは、常に1つ前のソフトタブにする必要があります。

編集では、 Timがコメントとして心配しているように、Magentoのコアテンプレートには短いオープンタグはありません。また、推奨されていないため、使用しないことをお勧めします(こちらを参照)。

しかし、あなたへの私のアドバイス...あなたはあなた自身のモジュールを書いているので、あなた自身のコーディングスタイルを使用してください。私の経験から、あなたが慣れ親しんでいるあなた自身のスタイルでコードを書くとき、あなたは別のウェブサイトプロジェクトのためにモジュールを書いているという理由だけでMagentoコーディングスタイルと次のWordpressコーディングスタイルに従う場合よりもミスを少なくするでしょう。


2
私はまったく同意しません。コミュニティ拡張機能は、他の人が読めるようにしなければなりません。
user487772

2
そして、Magentoで短いオープンタグを見たことはありません。
user487772

1
意見のポイント。異なるプログラミング言語の異なるプロジェクトでのプログラミングでかなりの数年の経験を同時に持っているので、コーディングスタイルに関係なく、プロジェクトを迅速に切り替えることに関しては、よく構造化されたコードを読むのに問題はありませんでした。コードを書くことは、自分のコード全体で同じスタイルを持つ方が、チーム外の他の人とのコードスタイルの互換性を保つよりもはるかに有益です。
ドメンヴランカー

@DomenVrankarは、あなたのコードスタイルがよく構造化されており、読みやすいと考えているのではありませんか?一方、Zendのようなチームは、スタイルが何であり、世界中で知られているかについて多くの人々が決定を下しています。思考のためだけの食べ物...
トム・バーマン

私も同意しません。
sv3n
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.