いつもお世話になります。C++でのことでみなさんにお尋ねしたいことがあります。
みなさんは C++(VC++を含め)どのような形で変数名をつけられていますか?? 例え
ば int型を判別するために 変数の頭に n や i などをつけて( カスピ***符号だ
ったかな??)変数に命名したりするとは思うのですが byte の変数と bool の変数
をみたいな先頭が同じ場合であったりとか、クラスや構造体の命名を規則をどうように
されているのかをお尋ねしたいと思いました。
プロジェクトなどでコーディング規約というものがあると思いますので、それに準じ
てという命名している形になるといえば仕方ないと思いますが・・・よろしくお願いし
ます
「変数の型名を表す接頭辞を変数名のアタマにつける」のは、
個人的に大嫌いなので'僕は'やりません。
そんなことで悩むくらいなら、他にもっと考えることが山ほどあります。
> どのような形で変数名をつけられていますか??
私は、「形」ではなく、その変数が何を表しているものなのかという「意味」が分かる
名前であることを重視します。
「型名を表す接頭辞をつける」ことは、そういう規約に縛られる仕事でもない限り、私
はしません。
型名を忘れたときは変数の宣言部を確認するちょっとの手間で済むのに対し、接頭辞の
ルールを考えるのも覚えるのも、さらには人にソースを見てもらうときに教えるのも大
変な手間であると思うからです。
また、C++では型(クラス)は無数にあるので、いちいち対応する接頭辞を考えるのは
ナンセンスだとも思います。
俺はポインタを意識させたいものにpをつける。
以下の話は、ほんと個人的な好みですよ。
というより、そもそも俺は
ルールつけずにそのときの気分で好き勝手につけてます。
冗長だったり面倒なものは本末転倒なきがするのです。
接頭辞p-やm_-はあり。
pBufferは、バッファはポインタなんだからバカバカしいと思っています。
BYTE型バッファへのポインタはBYTE**ppbBufferか←変なの。
pszは判りやすくていいかと思っている。
void func(int * pCount);はあり。
意図的にintにしているわけありならiでもいいかと思う。
そうではない場合LONG_PTRに変更したら変数名も
変えなきゃいけないのかっていうことになるからな。
int型ミリ秒、double型秒、__int64型100ナノ秒が混在しているなら
規則が欲しいと考えている。
BYTE型は、data変数とかだったらbData変数なんてしなくていいと思う。
bool型は、isDisableとかisEnableなど、
bool型でありtrueのときfalseのときの意味がわかるもの。
クラスなどはC-、I-。
VCがそうなっているから。
勝手にそうなるから。
私も原則としてつけません。
s_やg_、m_くらいなら許容ですが、自分自身は接尾派。
個人的にな感覚では、ハンガリアンは、IDEがない時代の、
警告を無視するようなCプログラマ用だと思ってます。
・C++なら警告レベルをあげればかなりまで問題を発見できる。
・きょうびのIDEは簡単に定義を参照できる。
時に有用なことを否定するわけではありませんが、
基本は意味優先で型は盛り込みません。
JavaやC#でも型なんて普通つけませんし。
ちなみに、ハンガリアンの場合例示のboolはf(flag)だったかと。
みなさん。ありがとうございます。
私は まだまだ経験不足のためプログラムに携わることがまだまだ足りていないと思
います。プログラム暦も浅いため みなさんがどういった感じでプログラムされている
のかが疑問になり、投稿させていただきました。
中身の薄い質問でしたが ご回答ありがとうございました。