プログラミングにおけるコメントの是非

ツイッターを見ていると
どうにもコメント書かない派が多いように感じます。
実際そうなのか確認したくなりツイッターでアンケート。便利。

アンケート結果

早速ですが結果です。

では、僕の経験談についてお話します。

僕の経験談(コメント書かないさん)

僕の下に来た派遣さんの中にも数名コメント書かない派がいました。
僕はコーディング規約で全ての行にコメントを書くことと定義しています。

にも関わらずコメントが一切書かれていないあっさりめのソース。
関数名で理解できるでしょ?とのことでしたが無理ですね。

さて、僕のところに来たコメントを書かないさんの主張ですが

  • 嘘を書くくらいなら書かない方が良い

と開き直ってました。
一瞬納得してしまったのですが、言ってることがおかしい。
なにゆえ嘘を書く前提なのか。

もう一人いらっしゃいます。

  • 昔使用していたコンパイラでコメントを書くとビルドが通らなかった

なぜ昔のコンパイラを引き合いに出すのか。それ以前にそんなことってあるのか?

今回のアンケート結果でも
コメント書かないさんがわずかながらにいらっしゃるようです。

その信念を否定する気はありませんが
僕のプロジェクトに参画する際はコメント有りでお願いします。

僕の経験談(コメントを英語で書くさん)

少し話は変わりますが、
全員が日本人のプロジェクトで日本語のコメントを書いてる中
わざわざGoogle翻訳を使って英語に翻訳してコメントを書いてるメンバーがいました。

確かにコーディング規約には「コメントは日本語で」と書いてなかった。
そう来たか。。。

とはいえ、なにゆえ?という疑問が湧きます。

曰く、

  • 僕の書く英語なんて簡単なものしかないので読めるでしょ?

とのこと。いや、そうではなくて。

後にわかったことですが、これまで彼は外国人と一緒のプロジェクトが中心でした。
そのため英語で記述するのが当たり前だったようです。
そもそも日本語でコメントを書くという発想が全く無かった。
英語OSで文字化けしたり日本語入力ができなかったりするそうです。

今回アンケートを取って英語で書く人が1/4ほどいらっしゃることがわかりました。
置かれた環境はわかりませんがグローバルでご活躍されているのでしょうね。

僕がコメントを強制する理由

ソフトウェアは開発期間に比べ圧倒的に保守期間の方が長いです。
当然、何年も前に書いたソースコードを読むこともしばしば。

そのため如何に効率よくソースコードが理解できるかが保守のカギです。
要は読めば瞬時にわかる処理になってれば良いのです。
その手段の一つがコメントなのです。

今回ここがトラブっとる。
この処理がどう動くかはわかる。
ただ何故この処理がここに入ってるのか全くわからん。
消して良いのか?残しておいた方がよいのか?

そんな時、コメントが手がかりになって助かったなんてことも
しょっちゅうとは言いませんがあります。

// この処理を入れると何故か落ちない
なんてコメントも過去にはありましたが覚悟を決める良いきっかけになりました。

とにかくコメントはヒントになります。

まとめ

僕自身も何が正しいかなんて知りません。
CODE COMPLETEという書籍には
コメントの在り方について書かれていますので書いておいた方が無難という位です。
今回、コメント付ける派が多いというデータも取れましたので
コメント論争の一助になればと思います。

また自然言語からコードを生成してくれる仕組みも公開されました。
コメントの精度が上がるきっかけになりそうです。

https://openai.com/blog/openai-codex/

コメント書くだけで動くものが出来上がる日もそう遠くはないと思います。
ちょっと楽しみ。

おわり

PR

コメント

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です