命名について頭をひねる会のログ、がいいね

興味深い記事:

// 「よりよいコードを求めて命名について頭をひねる会」のログ
http://y-anz-m.blogspot.jp/2012/11/blog-post.html

組織や言語によって若干変わる部分はあると思うので、
必ずしも一致するものではないでしょうが、
かなり「あー、そうねそうね」って思える内容です。
なので、ぜひ若い人にも読んでもらいたい。

jfluteを知ってる人であれば、
「get に時間かかるのは想定してない」
ってのはしつこく聞いたことあるでしょうね(^^
もちろん、しょうがない時もあるけどね。
get がどうしても言葉的に自然だったり、
あえて get にしておいて初期化タイミングを隠蔽させたり。
ただ、そんなつもりもない get が世の中多いのも事実。
あと、get でDBアクセスするのは絶対いやだなぁって。
(for文の中でgetで検索して遅いって事件は後を絶たない...)

ポイントは、こう「書くべき」ってのを暗記することよりも、
「どう書いたらわかりやすく誤解がなく自然なのか?」
ってのを考えて名前は付けられるもの、ってのを知ること。
コンピューターはどうでもいいかもしれないけど、
コードをメンテナンスするのは人間。

人は名前と文法の両面でプログラムを判断していきますが、
分析スピードを上げるのに名前はとても重要なファクター。
名前が適切でなければ、それはつまづきポイントにもなる。
人はコンパイラじゃないから。
(文法だけで読んでいくって大変だよ)

正解はなくケースバイケースなわけですが、
ちょっと考えればより良い名前は必ず思い付く。
今の世の中は忙しいから、100点の名前まで目指すことはない。
でも、ちょっと考えるだけで70点80点は取れるから。
それをやらず赤点の名前で「作り終わりました」だと、
あとで見た人が、分析に時間がかかってしまったり、
勘違いしてデグレを発生させてしまったりするかも。

あと、命名のスピードを上げるためにも、
こういった「名前についてひたすら考える座談会」ってのも、
一度はチームでやってみるのもいいかもですね。

後記:
プログラムにおけるネーミングって、
時間と手間をかけずに品質を向上させる
最も手軽なツールと言えるかも