コードフォーマッタを使おう

コードフォーマッタを使おう

  • インデントや、スタイルの指摘は機械に任せようという話

規約を破るのが人間

  • コーディング規約に沿わないコードを書くこともある
  • コーディング規約にないからと時代遅れも甚だしいコードを書くこともある
  • うっかり、スペースを消してしまうこともある
  • POSIXに乗っ取らず、行末改行を入れないこともある

これらは機械に任せよう

  • インデントの指摘ばかりをされても当然ながら不愉快でしょう
  • わかる。すごくわかるが後で入ってくる人間の精神衛生を考慮すれば多少の我慢をしてもらいたいです
  • 行末の改行などはエディタの設定を見ればだいたい入っています
  • インデントのチェックツールは世の中には腐るほどあります
  • 自分が使っているのは(PHPなので)、php-cs-fixer
  • こういったツールを使うことで若干の違和感程度まではコードの違和感を取り除くことが可能です
  • また、カスタマイズすることで少しずつ自分たち好みのフォーマットに落とし込んでいくことが可能でしょう

見た目の問題はレビューの本質ではない

  • レビューの打ち返しがレイアウトに関することだけであれば、そのレビューは不毛なものとなるでしょう
  • 単にレイアウトの確認を行ってもらうためにレビュー依頼したはずではないでしょう
  • レイアウトに関する指摘をされない様にコードフォーマッタを使いましょう
  • 不毛な議論がなくなるだけでレビューが少しだけ健全なものになります

どうすればうまく回せるか?

  • 自分はつい最近、php-cs-fixerの適用を行い、phpmdを使って静的解析させるシェルを書きました
  • 更にこのシェルが最終的にレビュー依頼のテンプレートを吐き出すことにしました
  • レビューの前にレイアウトの修正や自身のコードの不完全な部分を見つけられるのでなかなかに気に入っています
  • 何かのついでにコードフォーマッタや静的解析ツールを使える状態に持ち込めるのは案外いいものですよ