【プログラマー】コメントは不必要!?それはただの理想論!!2017/06/28SHAREツイートシェアはてブGoogle+PocketLINEツイートシェアはてブGoogle+PocketLINEスポンサーリンクプログラマーの中で、よく議題にあがる問題。残すべきという意見と残さなくてよいという意見、どちらも耳にしたことがあると思います。これに関して、「理想と現実」をしっかり見極める必要があるかな、というのが私なりの考えです。そこで、何故「理想と現実」を見極める必要があるのか、書いていこうと思います。他にもまとめスポンサーリンク最初に結論を言っておこうこれから、コメントが必要かどうかについて色々と書いていくのですが最初に私なりの結論を言っておきます。「コメントは必要!ただし、不要なコメントは残すな!!」です。基本的には、コメントがあった方が良いと考えています。不要なコメントはいらないです。ソースコードへのコメントとはそもそも、ソースコードへのコメントとはどういった物でしょうか。こちらの記事にあるソースをちょっと見てみます。【javascript初心者用】Mathクラスの勉強に!運試しサイトの作成方法!!この記事で、こんなコードを書きました。title.length;「//」から始まるところが、コメントアウトと言われる部分ですね。これを何故書いているのか。ソースを読むときに、分かりやすくするため。これに尽きるかなと思います。コードを後から自分で読んだり、他人が読む際にはコメントがあることによって、どんな動作をするコードなのか、を示すためのものですね。これがあることで可読性が上がるので、コメントを書くように癖をつけている人も多いと思います。コメントは残すべき?じゃあ、コメントは絶対残すべきなのでは?って思いますよね?私もそう思っていました。日本語で書かれた文字の方が頭に入ってくるし、分かりやすいと思ってたから。あるべき論を考えることで、ちょっと違った見方も出来ます。「可読性の良いコード」と聞くと、みなさんどんなイメージを浮かべますか?浮かべたイメージの中のコードでは、しっかりコメントが入っていましたか?コメントが入っていたという方。そのコメントを全部削除してみてください!!その状態で、それは可読性が良いコードでしょうか?ここまで書くと気づいたと思います。可読性の良いソースコードのあるべき論。・メソッド名から、そのメソッドの中身が想像できる・定数や変数を用いて、値に意味を持たせるなどなど。コメントを残すべきという意見の方でも、もちろん気をつけている部分だとは思いますが、あるべき姿としては、コメントがなくても可読性の良いコードがベストなのではないでしょうか。コメントは必要ない?じゃあ、あるべき論にしたがってコメントは書かない方が良いのだなって思った方。あるべき論は、所詮あるべき論なのです。個人的に、これはただの「理想」だと思っています。現実問題、コメントのないコードにして良いかどうか。これは、プロジェクトによりけり、もっと言うとチームメンバー・保守をする人次第になってくるはずです。現実的に考えるあるべき論として、理想の姿を考えてみましたが、やはり現実的に考えなければ、実際の運用としてどうするべきかは見えてこないですね。いうことで、現実的に考えていきましょう!スキルレベルは絶対にバラつきがあるまずはこれ。プログラマーのスキルレベルが、チーム内でバラつきがない。なんてことは絶対にありません。別の人が読んだときに、その人が分かりやすいコードだと感じるかどうか。それはまた別問題です。メソッドの命名に関しても、知識レベルによって、中身を想像する力は変わってきます。人それぞれのバックグラウンドによっても変わってくるでしょう。結局、人によって「分かりやすいコード・読みやすいコード」なんて変わってくるのです。それを補ってくれるのが「コメント」ではないでしょうか。コードとコメントの両方から判断が出来るコメントを残さなくても、分かりやすいコードを書く。これは、コメントを残す残さないに関わらず、実践すべき内容だと思います。人間がコードを読むとき。コードを読みつつ、コメントからも判断をして読み進めていくことが出来ます。コンピューターじゃないんだから、複合的に判断をして読むことが出来るんです。いうことは、コメントは残せば良いって物でもないことが分かるかと思います。無駄に長いコメントが書かれていたり、各行毎にコメントがあったりするとコード自体を読みたいときに、コメントが邪魔になってしまうこともあります。無駄なコメントは書かない!!これも大事なポイントでしょう。会社員として、プログラマーをしている方々。「納期」が決められている中で、開発を進めていく必要があると思います。時間的制約がある中で、全員が分かりやすいコードのみで書くなんて、中々ハードルが高いのです。いうことで、難しいロジックを書くときには、コメントを書いて理解の助けとなるものを残しておくことで保守性を上げることも、致し方ないかと思っています。他にもコメントによる、可読性のほかにも「どこまでメソッドをきるか」とか「ネストの深さはどうだ」とか、色々とありますよね。私個人的には、「リーダブルコード」の内容を根底に考えていけばそれなりに「読みやすいコード」が書けると思っています。「リーダブルコード」を読んだことがないという方。「プロジェクトとかチームのやり方に合わせる」しかない場合がほとんどだと思います。個人で開発している方にとっては、自分で分かればよいので、自分の好きなようにやれば良いですし。コメントに対する運用方法が固まっていないようなプロジェクトの場合であれば、ぜひ参考にて頂ければと思います。2017をインストールしよう!【Excel】たった2つのショートカットで作業効率!【プログラミング】初心者におすすめ!勉強したことを身に着ける思考法。コメントをキャンセルメールアドレスが公開されることはありません。コメントデータの処理方法の詳細はこちらをご覧ください。【第1話】作って学ぶPHP!初心者による実践録!~前準備~プロフィールのらくらへっぽこプログラマーとして、日々頑張って勉強をしております。未熟なITエンジニアだった私が、転職して1年でスキルアップしたこと。【リリース】朝が苦手な私が、朝活応援サイトを作りました。5万円だけ入れて半年放置した結果。