先日Twitterにこんなことを書いた。 なにやってるかはコード見ればわかる。なにやろうとしてるかはコードみてもわからんからコメント書け。 そうしたところ、変数・関数(メソッド)に適切な名前をつければ改めてコメントの必要はないんじゃないかという指摘をうけた。 そんで、しばらくやりとりをしたのだけど、その中で結論として変数名・関数名やコメントで表現する内容が違うということに気づいた。 やはり、変数名・関数名には、その機能を表すものをつけることになる。一方で、コメントにソースコードで表されていることを書くのは意味がない。 if(a==0){ //aが0のとき } のようなコメントは、意味のないコメントとしてよく例にあげられる。 if(a==0){ //パラメータが渡されなかったとき } のように、判定の意図を書くべきだ。 ここで、変数をaじゃなくてまともな名前にすればいいんじゃないかという話で