質問: お世話になります。 Ruby on Rails の開発を始めて、少し経ちました。 StackOverFlow、Qiitaなど含めて、ネット上でソースコードを多くみてきましたが、 そのほとんどがコメントがありません。 ライブラリのオーバーライドもコメントが無く、困ることがあります。 そのため、メソッド名から推測して詳細は目を瞑るか、親クラスのメソッドのコードを探すか、2択になります。 確かに、コメントが無くても理解できるのが良いコードだと思いますが、無理やり無くしているように感じることも多いです。 Railsの開発は、コメントを無くすほうが良い、というような風潮がありますか? よろしくお願いいたします。
回答: 私の主観ではありますが、Ruby on Railsに限らず、Javaのコードであっても、それこそどんな言語やフレームワークであっても、StackOverflowやQiitaに直接書かれているコードはコメントが少ない傾向にあると思います。私自身もそういった所で載せるコードを作る場合は、積極的にコメントを書こうとすることはありません。これには妥当な理由があります。 まず、これらの所で書かれるコードは、問題の再現するためや説明するためのコードであって、なんらかの完成したプロダクトではなく、その断片の場合が多いです。優れた質問では、さらに最低限再現できるところまで落とし込んで書いてしまっていますので、あるがままでしかないコードとして、特にコメントを入れる必要性が無くなると思います。回答の方は、すでに本文に解説が書いています。コードは実際の動作確認用の補足に過ぎないからです。コード内に本文と同じことをコメントをしても冗長なだけになるでしょう。Qiitaの記事についても同様です。 Ruby on Railsを用いたプログラムがどのような傾向なのかを見るには、(実験的な断片等ではない)完成したプロダクトを見ないと何も言えないと思います。例えば、Redmine、mastodon、GitLab CE等です。 さて、それらを踏まえての傾向ですが、結局、これまた主観的な意見になしまっているのですが、Ruby on Railsというレールに乗っている限りコメントを入れることはないと思われます。例えば、コントローラーのクラスは場所や名前や親クラスからなんというコントローラーのクラスなのかが自明です。また、標準的なルーティングではどのようなパスでどのメソッドを付かれるのかも自明であり、`show`や`index`などはわざわざ説明する必要性はないとなります。逆に、レールから外れる場合や、レール外の部分については、コメントが書かれる傾向があると思います。 ただ、プレジェクト毎の方針の違いは必ずあるでしょうし、オープンソースとクローズドなプロダクトではまた傾向が変わってくると思いますので、一概にはなんとも言えないと思います。Ruby on Rails以外でも、オープンソースですと、コメントが全くないというプロダクトも珍しくないですから。(あ、それ、俺の作った...)