PHP 5 Web アプリケーションがあり、コード標準を強制することでコード品質が向上するかどうかを判断するために、現在PHP CodeSnifferを評価しています。
私たちはコード リポジトリと展開ベースにSubversionを使用しており、SVN pre-commit フックを追加して、コミットされたすべてのファイルにコーディング標準の匂いがないようにしています。フックは技術的には機能しますが、実際に役立つには頭痛の種が多すぎます。
- サイトの停止を引き起こしている緊急のバグを修正する必要がある場合、最後に必要なのは、マイナーな空白のインデントの問題が原因でコミットが拒否されることです。
- 時には何百もの phpcs エラーを含む大量のレガシー コードがあります。現在、これらのファイルのすべての phpcs エラーを修正することは現実的ではありません。1 つの例は、ドキュメント コメントを持たない関数でいっぱいのファイルです。別の例として、クラス名が小文字で始まる場合、エラーがスローされますが、これを修正するには、コミットが必要な 10、20 以上のファイルを変更する必要があり、その後盗聴され、再帰されます...
- 少し大きなファイル (たとえば 4000 行のコード) がいくつかあり、phpcs はそれらをチェックするのに数分かかります。この長さだけコミットを遅らせることは容認できません。
- これはまだテストしていませんが、svn ブランチを実行してコミットすると、phpcs はすべてをチェックし、1000 個のファイルすべてをチェックするのに非常に長い時間がかかると思いますか?
今日、コードベース全体をリファクタリングできないことを考えると、svn pre-commit フックに phpcs を実行しないように指示する svn commit パラメータを使用する方法を知っている人はいますか?
または、説明されている頭痛を取り除く別の方法があるのでしょうか?