PHPのコーディング規約まとめ。PSR-2, CakePHP, Symfony, WordPress, FuelPHPなどの5つの規約の概要と特徴的なルール
目次 PSR-2 Coding…
目次 PSR-2 Coding…
PHP_CodeSnifferはPHPのコーディングスタンダードのチェックを自動化し、チームで統一するための非常に優れたツールです。SideCIでは、バージョン2.9.1をサポートしており、既に多くのお客様にご利用いただいております。
先日、PHP_CodeSniffer 3.0がリリースされました。従来、解析ツールのアップデートはバックグラウンドで自動的に行われておりましたが、今回のアップデートでは後方互換性のため、設定の切り替えによって2.9.xと3.0を同時にご利用いただけるようになっております。
複雑であったりトリッキーなコードは思わぬバグを生む可能性があります。また、未使用の変数やメソッドなども本当は使われるはずが、タイポしていて使われていない可能性もあります。そうしたコードの問題点を指摘してくれるソフトウェアが多数存在します。
今回はPHPプロジェクトで使えるPHPMDを紹介します。JavaのPMDに類似した、PMDのPHP版のようなソフトウェアです。バグになりそうな部分、最適ではないコード、複雑な表現、未使用のパラメータやメソッド、プロパティを指摘してくれます。
PHP言語はアプリケーション開発の現場で非常に多く使われている、最もポピュラーな言語の一つです。20年近い歴史のあるプログラミング言語であり、その歴史の中で様々なライブラリやフレームワークが開発されてきました。
ライブラリやフレームワークは様々な文化で作られており、変数名やメソッド名の命名規則だけとっても、CamelCaseとlower-caseのどちらもポピュラーな存在です。
SideCIはphp-cs-fixerを利用して、修正可能なPHP_CodeSnifferによる指摘を自動修正したPull Requestを生成することができます。
この機能を既存のワークフローに組み込むことによって「Pull Requestに対するPHP_CodeSnifferの指摘を修正するPull RequestをSideCIから作成し、それをマージする」ことでローカルで修正せずともコード指摘を反映できるようになります。
この自動修正の対象は 該当Pull Request内のコミットで変更があったファイル になります。差分箇所のみではない点をご留意下さい。
JavaScript用lintツール、JSHintの入門用の記事です。
JavaScript用lintツールで歴史の長いツールです。2011年ほどからあります。
JavaScriptコードのエラーや潜在的な問題を検出するのに役立つツールです。
SideCIにてPHP向け新機能、「PHP Composer Outdated」を追加致しました。
「PHP Composer Outdated」はComposerでライブラリのバージョン管理を行っているプロジェクト・レポジトリでご利用になれます。
SideCIが自動的にcomposer.lock
に記載されているpackageの最新版のバージョンを取得、現在のバージョンと比較し、新しいものをSideCIの画面上で見られるようにしました。
動作イメージ図
SideCIのバックエンドで利用している各種ツールのバージョンアップを行いました。バージョンアップ後のバージョンは次のとおりです。
コーディング規約をしっかりしようという流れが来ているかと思います。PHP: The Right Wayにもコーディングスタイルについて詳しく記載されています。
私たちはPHPに関して、書いたコードは全てSideCIというサービスでチェック、PullRequestにコードスタイル違反をたくさんコメントして(吠えて)もらっています。
(※弊社サービスです。
PHP_CodeSniffer, PHP Mess Detector(PHPMD)にレポジトリをチェックさせるという内容のサービスです。
SideCI内にてPHPMDによる自動コードレビュー機能の提供を開始致しました。
SideCI上の設定画面よりPHPMDを有効にして頂ければ、以降、PullRequestがOpenもしくは更新されるたびにPHPMDでスキャンし、結果をGitの差分(diff)にコメント致します。差分のない場所にはコメント致しません。
設定画面イメージ