WordPressのためのコーディング規約[ガイド]
(WordPressだけではなく)コーディング標準がまったくある理由は、 プログラマにとって使い慣れた環境を作る プロジェクトに取り組んでいます。 WordPressは特に多種多様な製品を網羅しています。コア自体からテーマやプラグインまで、検討すべきことがたくさんあります - そして混乱することがたくさんあります.
誰もが自分のコードを同じ方法でフォーマットし、コメント、同じスタイルのドキュメントなどを使用すると、一緒に作業することがはるかに簡単になり、新しいプロジェクトに参加する習熟曲線がそれほど急勾配になることはありません。.
WordPressにおける結束の必要性は、コードベースの状態によって大きくなります。 WordPressは厳密なオブジェクト指向アプローチには従わず、MVCパターンも使用しません。 (Laravelのように)例外なくOOPとMVCのガイドラインに従うプロジェクトは、一貫性とベストプラクティスを持っています “焼き込んだ” その構造により.
WordPressは残念ながらスパゲッティコーディング、別名で熟している 何でもやりたい. 悪いコードを採用している製品も(表面上で)同様に機能する可能性があるため、ベストプラクティスを実施するのは困難です。.
WordPressのコーディング規約に従うことで、WordPressのコーディング精神について少し学ぶことができ、より多くのWordPress互換製品を作成することができます。あなたが気にかけていて、あなたが高品質のコードを締めくくっているコミュニティを見せる.
Hongkiat.comに関するその他の情報:
- Web開発者にとっての10の最悪の悪夢
- CSSがすべての中で最も難しい言語になる可能性がある5つの理由
- 30の一般的な反応プログラマは事態が間違ったときに持っています
規格に関するいくつかの注意
規格は善悪を定義していません. 規則に同意できない場合があります。たとえば、括弧は、必要でなくても常に使用する必要があります。 WordPressのコーディング標準の目的は、あなたが正しいか間違っているかを決めることではなく、WordPressでそれをどのように行うべきかを決めることです。.
規格は議論の余地がない. 標準の使用はあなたが好きではない字下げスタイルに対して立場をとる場所ではありません。コーディング標準に何か問題がある場合は、そのようにしてください。 WordPressの開発者はそれを気に入ってくれるでしょう。それは言った、あなたがそこに何かに同意しないならばあなたの声を上げて人々に知らせなさい。より良いことをすることはいつでも可能ですが、標準がそれを可能にする場合にのみあなたのコーディングスタイルを変えるべきです.
肛門の保持力に対する一貫性. プロジェクトの最後の10%に参加していて、クラスに誤った命名規則を使用していることを発見したばかりの場合は、途中で切り替えないでください。私の個人的な意見では、私はむしろ正しいことがあるが間違っていることがあるものよりも一貫して正しくないものを読むことを望みます。あなたはいつでもスクリプトを書いて物事を一度に変更することも、最後に自分のコードを読むこともできます.
以下の基準は難しいです! あなたが以前にエンターを押すのに慣れていたとしても、下の行の代わりに関数と同じ行にブレースを置くことはかなり簡単です。ただし、100個の小さなルールについて考える必要がある場合は、プロセス全体で少しエラーが発生しやすくなります。標準に従うことに対する私の厳しい姿勢にもかかわらず、私は間違いを犯すことに関して他の誰かと同じくらい有罪です。一日の終わりに、誤った字下げは取り返しのつかない罪ではありません。すべてのルールに従うように最善を尽くしてください、あなたは時間内にすべてを学ぶでしょう.
WordPressのコーディング規約
今のところWordPressには、PHP、HTML、Javascript、CSSの4つのガイドがあります。それらはより大きな知識体系、コアコントリビュータハンドブックの一部を形成します。すべてを見ていくにはしばらく時間がかかるので、私は4つの言語からの抜粋を強調しました。.
PHP
PHPはWordPressの主言語であり、非常に緩やかに型付けされた言語であり、規制の対象となります。.
ブレーススタイル
開始括弧は常に行末に配置する必要があります。関連する文は、前の閉じ括弧と同じ行に配置する必要があります。これはコード例で最もよく実証されています。
if(条件)//何かをすること elseif(条件)//何かをすること else //何かをすること
寛大なスペース使用量
私は潰されたコードのファンではありません(私は悪い視力を持っています)ので、これは私が特に実施したいものです。後にスペースを入れる コンマ, そして両側に 論理的, 比較, ひも そして 代入演算子, 後に もし, elseif, にとって, 前々 そして スイッチ ステートメントなど.
スペースを追加してはいけない場所を言う方が簡単です。スペースを追加してはいけないのは、 型キャスト または 参照配列.
例外に対するやや紛らわしい例外は、 配列キーは変数です, この場合はスペースを使用してください。この例はこれを明確にするはずです。
function my_function($ complete_array = null、$ key_1 = 4、$ key_2 = 'bar')if(null == $ complete_array)$ final_array = $ complete_array; else $ key_1 =(整数)$ key_1; $ final_array [0] = 'this'; $ final_array [$ key_1] = 'is'; $ final_array [$ key_2] = 'an'; $ final_array ['last'] = 'example'; $ final_arrayを返します。
命名規則
特にあなたが異なる環境から来た場合、これは慣れるのが難しいかもしれません。手短に:
- 変数名 あるべき すべて小文字, 下線で区切られた単語
- クラス名 使うべき 大文字の単語 下線で区切る. 頭字語 すべてでなければなりません 大文字
- 定数 あるべき すべて大文字, 下線で囲まれている
- ファイル名 あるべき すべて小文字, ダッシュ付きの赤外線
ヨーダ条件
これまでとは逆の方法で条件を記述すると、構文解析エラーを防ぐことができます。それは少し変に見えますが、それはより良いコードです.
if( 'Daniel' === $ name)echo '記事を書きます';
HTML
HTMLにはそれほど多くのルールが関連付けられていません。もっとモジュラーにするためにかなり多くのことを思いつくことができます。 HTMLを書くときに知っておくべきルールは5つだけです。
- あなたのコードはW3Cバリデータに対して検証しなければなりません.
- 自己終了HTMLタグはスラッシュの前にちょうど1つのスペースがなければなりません(これは私が個人的に嫌いなものですが、それはWordPressだけではなくW3C仕様です)。
- 属性とタグはすべて小文字にする必要があります。唯一の例外は、属性値が人間の消費のためのものである場合です。その場合、それらは自然にタイプされるべきです。.
- すべての属性は値を持ち、引用符で囲まなければなりません(書くこと
正しくありません)
- インデントはタブを使って行い、論理構造に従う必要があります。.
CSS
CSSはもう1つの緩やかに型付けされた言語なので、ここでもやるべきことはたくさんあります。それでも、標準はコーダーではかなり簡単になります.
セレクター
セレクタは必要に応じて修飾し、人間が読める形式にし、単語はダッシュで区切ってすべて小文字にし、属性セレクタは二重引用符を使用する必要があります。これが簡潔な例です。
input [type = "text"]、input [type = "password"]、.name-field background:#f1f1f1;
不動産の注文
これらの規格は、CSSルールの特定の順序を規定していないため、ここではある程度の個人用スペースが必要であることを認識しています。彼らは何 行う という意味の構造に従うべきだと言う 理にかなって. 関係を使ってプロパティをグループ化するか、アルファベット順にグループ化する, ランダムに書き出さないでください.
ランダム性の最大の原因は “ああ私も余白を追加する必要があります” それからそれを一番下に追加します。さらに0.3秒かかり、論理的な場所にルールを追加します。.
- 表示
- ポジショニング
- ボックスモデル
- 色とタイポグラフィ
- その他の
.profile-modal display:block;位置:絶対左:100ピクセル。トップ:90px。背景:#ff9900;色:#fff;
値のフォーマット
これは私が特に矛盾を見るのが嫌いなところです。ガイドラインに従わなかったとしても、値の前にスペースがあることがあるよりはましです。時には速記を使い、時には使わない。時には0の値の単位を使い、時には使わない、など.
値のフォーマットはかなり複雑ですが それはいくらかの練習で自然に来ます. 値をフォーマットするためのコーデックスの正確なガイドを見てください。.
ジャバスクリプト
私の経験では、Javascriptはあちこちに行き交う傾向があります。多くの開発者はかなりの量のJavascriptを知っていますが、HTML、CSS、およびPHPの後付けとして、次第に習得されました。新しい言語を使い始めたばかりのときは、さらに多くの間違いを犯します。それらの間違いが致命的なエラーを引き起こさないのであれば、それらはあなたの内に根付くことができます。.
多くの場合、規格は回線制限または州を参照しています “行が長すぎない場合”. これはjQueryスタイルガイドを参照しています。 行数100文字まで. WordPressガイドはjQueryガイドに基づいているので、同様に読むことをお勧めします.
セミコロン
これは最も単純な規則ですが、見過ごされがちな規則です。あなたのコードがそれなしで動作するという理由だけで、決して、決してセミコロンを省略することはありません。ただずさんな.
インデント
タブは常にインデントのために使われるべきです。ファイル全体の内容が1つに含まれている場合でも、クロージャの内容をインデントする必要があります。私は標準を読む前であっても私はなぜ明白なトップレベルのクロージャーが私を悩ませたのかわかりません.
改行
長い文字列を分割するときは、常に演算子の後の行を分割します, 変数にぶら下がったままにしないでください. 一見すると、行が壊れていてセミコロンを忘れていないことが一目瞭然です。.
また、条件が長い場合は、複数行に分割してその前に余分なタブを追加します。これは私の目には非常に奇妙に見えますが、それがコンディションと体の間に追加する分離は非常に目に見えます.
if(firstCondition()&& secondCondition()&& thirdCondition())var html = 'この行は' + n + 'の単語で構成されているので、' + '演算子の後に分割する必要があります。
jQueryの繰り返し
標準によるとjQueryの繰り返し (jQuery.each())
jQueryオブジェクトでのみ使用してください。あなたはベーシックを使うべきです にとって, for / in, しながら 他のコレクションを反復処理するためのJavascript内のループ.
結論
注意して追跡することはたくさんありますし、誰かがこれを一度に適用できる方法はありません。あなたは自分のコードをできる限り標準に近づけ、それらに正確に従うように取り組むべきです。.
私の考えでは 一貫性が最も重要な規則です. 途中で切り替えるよりも一貫して誤った操作をする方が得策です。これはあなたのコードの機能に影響を及ぼさないし、そしてほとんどの場合 - フォーマットの習慣に特に当てはまります。 - 後で簡単に一括変更できます.
コーディング標準の要素が嫌いですか。何か追加するべきだと思いますか。コメント欄でお知らせください!