この界隈では、グッドコードとかリーダブルコードとか、所謂「いいコード」という意味の言葉がある。一口で説明するには適さない話題だが、その中でも取り分けて気に掛けてほしいことがある。
それは、コメントと命名である。
まずコメントについてだが、これはコード上での報連相のようなものである。特にチーム開発ではコードを読むのは自分だけではない、レビュアーや今後コードに変更を加える人もコードを読む。自分が実装した処理は何をするものなのか判断する材料としてコメントは必ず残しておくべきである。
だが、コメントまみれのコードになることは避けて頂きたい。
これは例え話だが、面接などで「本日はどうやってここまで来られましたか?」という質問をされる場合があると思う。例えなのでこの質問自体は対して重要ではないが、こういった質問に対して「はい、私は今日○○時□□分に自宅から△△駅まで徒歩でn分歩き〇〇時◇◇分の電車に乗車し☆☆駅で...」のような回答をするのはよしてほしい。
このような要点がまとまっていない説明はかえって分かりにくい。コードでも変数や条件分岐を一つ一つを丁寧に説明する必要などないということである。
処理単位で何を受け取るのか、何をするのか、何を返すのか、この辺りが分かれば十分だと思う。
また処理の意図が伝わりにくいであろう箇所や、本来あるべきだが未実装の処理などもコメントがあると嬉しい。
次に命名だが、個人的にはコメントより重視してほしい要素である。なぜなら、極論命名が分かりやすければコメントなど必要ないからである。
これは決してコメントを蔑ろにしても良いという意味ではないが、それくらい命名の分かりやすさは重要である。
また、使用言語やチームで命名規則は合わせるべきであるし、多少名前が長くなっても分かりやすさを重視すべきである。
ただし、長すぎる名前は逆に読みにくい。塩梅が難しいと感じるかもしれないが、長くなるということは識別する箇所が多いということなので、そういった変数はクラスや構造体といったものでまとめて内側でシンプルな名前にしてしまえば良い。