blogPHPでWEB+DBシステムの開発をやっています。策定されたおかげで、これをベースにコーディングスタイルがある程度整ってきました。コーディングスタイルとして採用しているプロジェクトも多いのではないでしょうか。採用したなら、実際に書くコードはできるだけこの基準に沿うようにしたいものです。ここにあまり手間をかけるのも本末転倒です。そこで、手間をかけずに、コーディングスタイルに従えるような方法を模索してみました。ルールとして設定しました。PSR1/PSR2を選択します。ルールがコーディングスタイルへ設定されます。コードを書いていけば、インデントやブレース位置など自動で適用してくれます。フレームワークで自動生成されたコードなど既存のコードに対して、整形する機能があります。Codeという機能です。Codeを実行すると、下記のようなダイアログが表示されます。適用範囲の選択やオプションが選択できます。import文を削除してくれたりすので、チェックしておくと良いでしょう。entriesにチェックを入れると、メソッドの順序を並べ替えたりするので、これは外しておきます。Runを実行するとコーディングスタイルに従って、コードが整形されます。下記のようなコードがあるとします。すると、以下のように整形されます。単一ファイルだけでなく、特定のディレクトリ以下の全てのファイルに対して行うこともできるので、一括で整形するのも簡単です。コード整形すると、これだけは気になるというコードがあります。それは、クロージャをメソッドの引数に渡すコードです。下記のようなコードがあります。すると、下記のようになります。});うううん、これは気持ち悪い。する前の方が読みやすいし、行数も少なくて済みます。Styleの設定次第なので、該当箇所を特定して変更していました。インストールしています。設定は共有していないので、こうしたカスタマイズを行うと、それぞれに適用する必要があります。うっかり設定を忘れてしまうようで、たまに再設定を行ったりします。チームで開発する際は、メンバーがそれぞれ該当箇所を設定するする必要があります。あれば、良いのですが、まあそれは未来に期待して。)設定自体はそれほど大変ではないですが、全ての環境で行うには手間がかかります。自動変換すれば良いじゃないかと思い、.git/hooks/pre-commitに仕込んだりしたのですが、これもそれぞれの環境で仕込む必要があり、それもまた手間です。ちなみに、以下のような設定を書いてました。する仕様になってます。そのままで良いんじゃないかしばらく悶々としながら開発していたのですが、もう人間の好みは捨てて、ツールに委ねる方が良いのでは、という考えに至りました。適用すれば、かなりの部分は読みやすいコードに整形してくれます。クロージャの部分も読みにくいというより、好みではない(なんとなく気持ち悪い)という程度なので、これは慣れれば、どうということはなさそうです。カスタマイズせず、そのままコーディングスタイルとして利用するようになりました。実行するのは手間です。時に自動で適用するようにしています。時に自動で整形されるようにしています。一括管理した方が良いかもしれませんが、設定の手間と効果を考えると、今のところ、この運用で十分です。良くできており、多少の好みくらいならカスタマイズせずに、ツールに寄り掛かる方が良いと実感しました。将来フォーマットが変わるかもしれませんが、それはそれで自動整形すれば良いだけです。これだけツールが良くなると、コーディングスタイルを人間が気にすること自体が無駄な気がしてきて、ツールが勝手に決められたルールに従って整形してくれれば、それで良いという考えになってきました。ちなみに、件のクロージャのスタイルは時間が経つにしたがって、気にならなくなってきました。引数が多い場面などは、かえってこの方が読みやすいんじゃないかという気さえしてきたので、まあ慣れの問題ですね。