Programmingについて二題

広告運用製品エンジニアのウメツ(又はウメヅ)と申します。

「コメントをしないプログラミング」ノススメ

私はかつて、社内でスーパープログラマと呼ばれるような方と一緒に仕事をしていました。とても楽しかったです。
その方から褒められたことの一つとして、
「ウメヅさんのコードは、コメントがないから読みやすい」
というものがありました。

そうなんです。
プログラム中にコメントは、書かないことをお勧めします。

どうして?
それは、ですね、

  • コードとコメントは遠からずやがて乖離する(コメントも保守するのは結構大変なのです)
  • コメントに「ここは○○する部分」等と書くくらいなら「○○」というメソッド(or関数)に切り出すべき
  • その代わり、メソッド名や変数名はそれとわかるような(self descriptiveな)名前を付けるべき
  • ↑その際、勝手に省略しない(例えば「行番号」でline numberだからlnum等と付けても、後から見る人にはわかりません。どんなに長くなってもいいからきちんとlineNumberと付けるべきです。今はIDEが補完してくれるので長くなっても平気な筈です)

これを逆手に取れば、
「ソースコードにはコメントを付けて下さい」
などと言っているPMに対して、適当な文言のコメントを散りばめておく、なんていうステキな使い方が出来るかもしれません。

スペルミスに不寛容であれ

プログラムでは、変数名やクラス名、DBのテーブル名やフィールド名など、基本的には英語で命名していますよね。
# 実は変数名等日本語でもいい部分もありますが、
# 文字コード等も絡んで面倒になるので避けた方が無難です。
時々、スペルミスが散見されます。
# Executerとかchanelとかocurredとか見掛けました。
皆さん、スペルミスを見つけたら、どうしてますでしょうか。

速攻で直して下さい。

それが他人の製作物中であっても、
部長の作ったものであっても、
DBのフィールド名などで直すのに多大なコストがかかっても、です。

たとえ今コストがかかっても、スペルミスによりこれから累積するコストに比べれば、まだ安い筈なのです。
# …とは言いつつも、自分もなかなかそこまでは出来ていません。
# やっぱり大変です。
後々そのコードを見る(保守する・改変する)人は、コード中でスペルミス部分にぶつかる度に、
「あぁ、ここは敢えてスペルが違うんだったな」
と余計な頭を働かせねばなりません。
1回1回は僅かなコストですが、このストレスは結構馬鹿にならないのです。
変数名を付ける時、スペルが怪しかったらすぐ調べて下さい。
今はオンラインでいくらでもすぐに調べられますよね。
さもないと、将来、見ず知らずの人から恨まれること請け合いです。

アバター

梅津亮

コメントを残す

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

コメントする