第45回: コードフォーマッタ(PHP CS Fixer) — コードスタイルを「自動統一」してレビューを加速する

章: 第5章: テストと品質管理

コードレビューで「インデントが違う」「スペースの数が合わない」という指摘に時間を使っていませんか?

スタイルのズレは本質的な問題ではないのに、レビュー時間を消費します。PHP CS Fixerを使えば、コードスタイルをコマンド1本で自動統一でき、レビューはロジックの議論に集中できます。

スタイル統一ツールなしで開発を続けると何が起きるか

開発者ごとのエディタ設定の違いで、コミットのたびにスタイル差分が生まれます。gitのdiffがスタイル変更で埋まり、本質的な変更箇所が見えにくくなります。

コードスタイル管理の比較

観点 手動・各自任せ PHP CS Fixer導入
スタイル統一 開発者依存でばらつく 設定ファイルで全員一致
レビューコスト スタイル指摘が多い ロジックの議論に集中できる
CI連携 スタイルチェックなし --dry-run でCIが自動検出
ルール管理 口頭・wiki依存 .php-cs-fixer.php で版管理

チェックポイント: 初めてPHP CS Fixerを適用する際は --dry-run オプションで変更プレビューを確認してからコミットしましょう。また .php-cs-fixer.php の設定ファイルをバージョン管理に含め、チームで共有することが重要です。

コードサンプル


# インストール
composer require --dev friendsofphp/php-cs-fixer

<?php
// .php-cs-fixer.php
return (new PhpCsFixer\Config())
    ->setRules([
        '@PSR12'            => true,
        'array_syntax'      => ['syntax' => 'short'],
        'ordered_imports'   => true,
        'no_unused_imports' => true,
    ])
    ->setFinder(PhpCsFixer\Finder::create()->in(__DIR__ . '/src'));

# 実行(自動修正)
./vendor/bin/php-cs-fixer fix

まとめ & 次のステップ

  • PHP CS Fixerでスタイルを自動統一すると、コードレビューをロジックに集中できます
  • .php-cs-fixer.php で適用ルールをチームで共有してバージョン管理しましょう
  • --dry-run で変更内容を確認してから fix を実行する習慣をつけましょう
  • CIに --dry-run --diff を組み込んでスタイル違反を自動検出できます
  • @PSR12 をベースにプロジェクト独自のルールを追加していくと管理しやすいです

次回は リファクタリング実践演習 を学びます。動作を変えずにコードの内部品質を改善する具体的な手法を整理しましょう。

Related Articles