ネ−ミングセンスを磨く

もどる

さて今回は、変数(以下、インスタンス)に、どのような名前をつけるか、です・



意味のある名前について


えー、いきなりですがサンプルを見てもらいます。


例は、
ループ回数をカウントするです。



(悪い例)


int a;

a++;




(良い例)


int LoopCount;

LoopCount++



どちらが読みやすいか、一目瞭然ですね。


a だと、名前だけで変数の意味をがわかりません。



しかし!



LoopCount は見ただけでループ回数を数えている、というのがわかります。




重要なのは、
見ただけで意味のわからない名前は付けない、です。




特に、
1文字だけの変数は定義しない





もとろん、
例外もあります。



for文などのカウンタは i, j, k, と宣言する場合が多いです。



ただし、使っていいのは
この3つまで。


つまり、
forループは3回まで。






大文字と小文字は区別される


現在のVisual C++.NET には大文字小文字を区別する能力があります



つまり、
loopcount LOOPCOUNTLoopCount は全て別の物として扱われます


先ほど、インスタンスの名前は見ただけで用途がわかる物でなければならないと説明しましたが、



この中で一番適しているのはどれでしょう?



個人差はあると思いますが、ほとんどの人が
LoopCount と答えるでしょう



LoopCount という2つの単語がすぐにわかるからです



他の2つはどこで切っていいかわかりにくいのが見てわかると思います



これが3つの単語からなるインスタンスならどうしますか?



もちろん、全て小文字で解決する方法もありますが、その方法はここでは説明しません



ここで大事なことは
大文字と小文字は区別されるということだからです



難しいことではないので、頭の片隅にでも置いておいてください






ハンガリアン記法について


ハンガリアン記法とはCharles Symonyi という人が考えたらしいです



簡単に要約すれば、インスタンスの先頭に変数の型を表す文字を追加するものです



こんな感じです インスタンスは上のループカウンタを使用します


int iLoopCount;


インスタンスの名前は、'L' から始ます。



それまでの小文字の部分は変数の型を表す文字になります



ハンガリアン記法は組み合わせて使うこともあります


const int ciLoopCount;


優先順位は人によって異なります。



人によっては混合して使うということを避けるかもしれません



ただし、ハンガリアン記法の目的は




インスタンスを見ただけで、変数の型がわかる




ようにすることです。




時間が無いので、今回はこの辺で


近いうちにハンガリアン記法の表を作ろうと思います