WP-KyotoHome (日本語)Home (English)AboutPrivacy policyLicensesGitHub
Advent CalendarWordPress

HabakiriのPHPファイルがコーディングスタンダードに沿っているか調べてみた

Habakiri Advent Calendar 2015 – Adventar13日目です。

やろうとしていたネタが仕様上できないと知り、若干の八つ当たりモードでお送りします。

コーディングスタンダードって?

とりあえずMake WordPressから引用。

Coding standards help avoid common coding errors, improve the readability of code, and simplify modification. They ensure that files within the project appear as if they were created by a single person.

Following the standards means anyone will be able to understand a section of code and modify it, if needed, without regard to when it was written or by whom.

If you are planning to contribute to WordPress core, you need to familiarize yourself with these standards, as any code you submit will need to comply with them.
WordPress Coding Standards

とてつもなくざっくり言っちゃうと、「どんな人でも読みやすく、エラーを見つけやすい様にみんなこのコーディング方法でやろうぜ」ってことですね。

さっそく調べてみる

ではさっそく調べてみましょう。

とりあえずVCCW

VCCWだと WordPress Coding Standards for PHP_CodeSnifferがデフォルトで入っているので、とりあえずチェックはここでやりましょう。

VCCWのあるディレクトリに移動して、以下のようにコマンドを入れます。
[bash]
$ vagrant ssh
$ cd /var/www/wordpress
$ wp theme install habakiri
[/bash]

これでhabakiriがVCCWにインストールされました。

さぁコーディングスタンダードチェックの時間です。

ワンライナー作りました

デフォルトだと$ wpcs index.phpのように1ファイルずつコマンドを入れないといけないのでちょっとめんどくさいです。

なのでワンライナー化してみました。
[bash]
$ find /var/www/wordpress/wp-content/themes/habakiri/ -type f -name ‘*.php’ -exec phpcs -p -s -v –standard=WordPress-Core {} \;
[/bash]

「/var/www/wordpress/wp-content/themes/habakiri/」配下のphpファイルを全部探して、1ファイルずつチェックさせています。

追記

[bash]
$ phpcs –extensions=php /var/www/wordpress/wp-content/themes/habakiri –standard=WordPress-Core
[/bash]
これで一括チェックできるみたいです。

こっちの方が検索楽そうですね。

結果

ここに貼るよりissueに上げたほうが良いなと思ったので興味のある方はそちらをご覧ください。
Allow_WordPress_Coding_Standards_for_PHP_CodeSniffer_·_Issue__9_·_inc2734_habakiri
Allow WordPress Coding Standards for PHP_CodeSniffer #9

「スタンダードに従っていないからダメ!」というわけではありませんが、そうしておいた方が他の方がソースを見たりされる時などに読みやすくなる+「おっ、こいつコーディングスタンダード知ってるんや」という風にちょっと評価してもらえるかもしれないらしいので北島さんファイトです╭( ・ㅂ・)و ̑̑

おまけ

vagrant_wp-theme__var_www_wordpress_wp-content_themes_habakiri_—_ssh_—_204×62

╭(°A°`)╮

GitHubHomeEnglish