自動コードフォーマットは悪・・・?
コードを綺麗に保つ為に、普段から意識して書くのはもちろん、ツールを使ってフォーマットしている人もいると思います。
IDEのコードフォーマット機能を使っていますが「コードフォーマットを実行」という作業も省きたくなり、自動化できないか調べてみました。
下記の方法があると思いますが、自分のコードだけを自動化したかったので、①を選択しました
- IDEの機能を使う
- プッシュされた時に、リポジトリ側で行う
- 配布時やバッチ等で、定期的にフォーマットツールを実行する
今使ってるIDE、PhpStormでできないか調べたところ、GUIでのコミット時に自動でフォーマットする機能がありますが、コンソールからコミットしている為、却下
次にマクロ機能でも実現できるということで、下記を参考に「ファイルを保存したらフォーマット実行」マクロを作って、CTRL+sで保存した際にフォーマットされる設定を使っていました。
しかし、新しい案件にアサインされた際、下記の問題が発生
- フォーマットされてこなかったファイルを編集した際、コミット時に大量の変更が残り、どこをフォーマットして、どこを改修したのかがわからなくなる
- 元々アサインされていた人たちから、読みづらいから戻せと言われる(フォーマットのルールは社内の規約に沿っているが、長い間見ていたファイルの見栄えが、急に変わった為と思われる)
どちらもコードフォーマットが徹底されていれば防げることですが、下記の理由で徹底されていない
- 自動フォーマットの仕組みが整備できていない
- 各自が手でフォーマットを実行する為漏れる
- 場合によってはフォーマットしないほうが見やすい
上記から、ひとまず「自分が1からファイルを作った場合、手でコードフォーマットを行う」という自分ルールに落ち着きました・・・