略語で始まる変数の命名法

たいした問題ではないが、lowerCamelCase ルール下で、略語で始まるクラスのインスタンスの命名に数秒悩まされる。例えば HTMLParser クラスのインスタンス名。

var myHTMLParser = new HTMLParser();
var parser       = new HTMLParser();
var htmlParser   = new HTMLParser();
var hTMLParser   = new HTMLParser();

使いそうなパターンから並べてみたが、考えてみると、上記の例には変数名に目的、というか意味が含まれていない。 変数名は、その変数の使い方に見合った名前が良いのではないか。例えば、index.html をパースしたいという目的があるならば、

var indexHTMLParser = new HTMLParser();

あたりが丁度良い。しかし、ありとあらゆる HTML をパースするのが目的となると、この名前は適切ではないので、結局 myHTMLParser に落ち着いてしまう。こういう場合は my を付けるのがデファクトなのだろうか?