プログラムを書いていて「関数名が長くなりそうだし、ちょっと省略するか」って思うことはありますか?それ、安易にやると後で困るかもしれませんよ。
リファクタに時間が取られすぎて何を作ってるんだか分からなくならないように、最初から意識しておきましょう。
可読性が下がる
安易な省略はシンプルに読みづらくなります。
例えば変数名レベルのもので言うと、以下のようなものをイメージしてください。
title → ttl
count → cnt
index → idx
比較的よく見かけるものではありますが、パッと見で分かる確率は結構低いと思います。特にttlを見てtitleだと思いつける人はほぼいないのではないでしょうか。
コード内にこのような単語が大量にあるとそのコードが何をしているのか分かりにくくなります。断りなく使うのはやめた方がいいでしょう。
image → img、text → txt あたりはコンピューターや特にWebの文脈ではかなり浸透しているので利用してもいいかもしれませんが、逆に言えばこのレベルでなければ多少なりとも混乱を生みます。
自分のコードなんか2週間もすれば余裕で忘れる
「自分が分かってるからいいの!」と思ったそこのあなた。自分が書いたコード、結構簡単に忘れます。コードの細かい部分や、特に「なぜそのようなコードになったか」の意図が抜け落ちやすいです。
したがって変数名や関数名は、そういったことを思い出すためのヒントになるくらいには情報があったほうがいいかなと思っています。
その観点で考えるとJavaScriptの各種関数、メソッドの命名が参考になります。
document.getElementById
addEventListener
JSON.stringify
JavaScriptでは上記のような命名をされていますが、文章に近いものとなっています。確かに長いですが意図を汲み取りやすいし、誤読しにくくなっていますよね。このような命名を心がけてみてはどうでしょうか。
結局チーム内or自分の中で整理がついていれば何でもいい
とはいえ結局はチーム内もしくは自分の中で「この言葉は絶対にこういう意味だ」「この単語は常にこう省略する」とルール化されているなら正直なんでもいいです。
律儀にやるなら用語集や命名規則などをドキュメント化しておくことになるでしょうが、そこまでしなくてもとにかく共通理解が取れているなら良いかなと思います。何事もやりすぎると窮屈になりますからね。
ということで、安易に省略するのはやめようという話でした。
コメント