日々常々

ふつうのプログラマがあたりまえにしたいこと。

見やすいコードのために出来るたった一つのこと

タイトルは釣りっぽいですけど、結構まじめ。


フォーマッターを使用すること。


これが全てです。「スペースがどうこう」とか「括弧の位置がどうこう」とかどうでもいいです。そんな美的感覚でかわるような枝葉の話に結論は出ません。
コードフォーマッターを使用してください。そのプロダクトを通して、統一された同じフォーマッターでフォーマットすること。コードはそれだけで格段に見やすくなります。個々人が好き勝手にやったり、気をつけたり、CheckStyleなどでの見た目の警告を処理したり……そんなのしてたら不統一で見難いコードにしかなりません。


個人個人での見やすさとかはあります。当然です。例えば変数代入のイコールの位置がそろってる方が見やすい人もいます。変数宣言は1行開いてた方がいいって人も、メソッド間は2行開いてた方がいいとか、賛同できませんけどそんな人も居ます。そう言うときは自分専用にフォーマットして、チェックインするときに標準のフォーマットをかけ直せばいいと思います。
やや極端かもしれませんが、リポジトリのコードは勝手にフォーマットさせとけばいいと思ってたりもします。言語にもよりますが、改行やブランクがそれほど重要な意味を持たない言語*1はフォーマットでコードが壊れるってことは、まずありません。挙動が変わるような残念なフォーマッターしかない言語ならばともかく、あるならばそれのみを使用し、フォーマット結果が気に食わなくても、決して手作業で修正しないこと。
手作業でのフォーマット結果は、次の自動フォーマットで消えますし、それを嫌ってフォーマッターをかけられないとか愚の骨頂です。気に食わないなら、フォーマットの定義を修正し、自動フォーマットを行うこと。


コードを見やすくするためにまずすべきことは、自動フォーマットです。
ちまちま手で直してないでフォーマッターにやらせましょう。個人の好みならフォントやハイライトを調整して可読性を上げましょう。そうすれば細かいフォーマットの話はどうでも良くなります。本当の見やすさについて話せるのはそこからです。


※ここではメソッドの分割単位やコメントなどの話はしていません。あくまで全体を通して統一感をとることがコードの読みやすさに直結し、それを行うのに現時点で最も良い方法が自動フォーマットである、という主張です。

*1:例えばJavaとか