WordPress Codex を見ていたら “WordPress コーディング基準” なるページを見つけたので読んでみました。
そうしたら今まで書いてきたコードは、この基準に全く沿っていなかったので自分を戒めるために以下にメモ書きします。
Codex の翻訳版は古くなってるかもということで、本家と照らし合わせながら書いていきますが違ってたらごめんなさい。
目次
スポンサーリンク
WordPressでシングルクォートとダブルクォートの使い分け
文字列を何も評価しない場合はシングルクォート (‘) を、評価する必要がある場合にはダブルクォート (“) を使えとの事です。
■ 良いコーディング例
/* 文字列をそのまま出力 */ echo '<a href="https://worklog.be/" title="work.log">work.log</a>'; /* 変数の内容を出力 */ $link = 'https://worklog.be/'; echo "<a href='$link' title="work.log">work.log</a>";
自分は全て以下のよう書き出しはシングルクォートで統一して書いてました。
■ 駄目なコーディング例
/* 文字列をそのまま出力 */ echo '<a href="https://worklog.be/" title="work.log">work.log</a>'; /* 変数の内容を出力 */ $link = 'https://worklog.be/'; echo '<a href="' . $link . '" title="work.log">work.log</a>'; ~ ~~~~~~~~~~~~~~~ ~
実際この書き方だと無駄に長くなるのでもうやめようと思います。
WordPressでのインデント
インデントには “本物のタブ” を使うこと、“スペース” は駄目だそうです。
わざわざ .vimrc でタブを半角スペース4文字に変更してました。あとテーマ内のファイルも置換してしまってます。
ただし整列させる場合は、最初にタブを入れてその後にスペースを使うのは OK みたいです。
$array = array( [tab]'key1' => 'value1', [tab]'key2' => 'value2', [tab]'key100 => 'value100', [tab]'key3 => 'value3' ); ~~~ → このスペースは OK !!
WordPressでの正規表現
Perl 互換の正規表現 (PCRE, preg_ 関数) をつかってくださいだそうです。
preg_ 関数をいつも利用してましたが、普段 perl を書くことが多いからと理由で使ってただけなのでこれはたまたまでした。
WordPressでのスペースの使い方
コンマの後ろ、論理演算子、代入演算子の両側にはスペースを入れてくださいとの事です。
■ コーディング例
$str = 'hoge'; $array = ( 1, 2, 3 ); if ( ! $str ) { ... } if ( $str === ( $str1 . $str2 ) ) { ... }
こんな感じでスペースを、functon はこんな感じです。
functon my_function( $param1, func_param( $param2 ) ); ~~ → ここはスペース入れない
ブログ上の記載も含めこれを修正するの結構な量です。
WordPressの変数、関数、ファイル名と演算子について
変数・関数名は “アルファベットの小文字” かつ、区切りには “アンダースコア (_)” を使うようにとの事。
“myFunc” のように単語の先頭を大文字にして繋げるのは NG だそうです。
ファイル名についてはその動作がわかるような “アルファベットの小文字” で、区切りには “ハイフン (-)” を使うようにとの事。
“my-plugin.php” というようなそれだけでは意味のわからないファイル名ではなく、 “echo-hoge-plugin.php” みたいな何となく動作がわかるような名前でいいのかな ?
他にもルールはあるのですが自分が間違えてた部分や、迷いを生じていた部分を抜き出してみました。
動作に違いはなくても、このルールを知ってしまったからには直さないと気持ち悪いです。
コツコツ修正していこうと思います。