- ベストアンサー
変数の前についているnってもしかしてint型を示しているのでしょうか?
変数の前についているnってもしかしてint型を示しているのでしょうか? long型ならl, bool型ならbを頭に付けるのは分かるのですが,intはiでないのでしょうか? また、それぞれの型と、接頭語の対応も教えていただけないでしょうか? int nLen; // intのn? long lHeight;// longのl bool bStart; // boolのb これまで気にしてなかったのですが、自分でlong型にはlを付けているので、 全て書式を統一した方が良いかな、と思い質問しました。
- みんなの回答 (4)
- 専門家の回答
質問者が選んだベストアンサー
★アドバイス ・ハンガリアン表記ですね。 http://tontokaimo-lab.cocolog-nifty.com/strayinglynx/2005/02/post_2.html→『Lynxの迷走(瞑想?) ハンガリアン記法は悪なのか?』 http://live.under.jp/todashou/tips/code_writting/notation.html→『ハンガリアン記法』 http://ja.wikipedia.org/wiki/%E3%83%8F%E3%83%B3%E3%82%AC%E3%83%AA%E3%83%BC%E8%A8%98%E6%B3%95→『ハンガリー記法 - Wikipedia』 ・以上。検索するといろいろ見つかります。
その他の回答 (3)
- jacta
- ベストアンサー率26% (845/3158)
他の方も回答されているように、いわゆる「ハンガリアン記法」です。ただし、本来のハンガリアン記法はこんなチープなものではありませんでした。 http://www.radiumsoftware.com/hungarian_notation.html あまり多くを語ると無用の議論に巻き込まれるので、ぜひお勧めしたい書籍だけ紹介しておきます。 「C++ Coding Standards―101のルール、ガイドライン、ベストプラクティス」Herb Sutter, Andrei Alexandrescu (ISBN: 4894716860) http://www.amazon.co.jp/o/ASIN/4894716860/ ここの最初の最重要項目にあげられている内容は本当に重要です。 すなわち、 「些細なことにこだわるな(何を標準化しないかを知ろう)」 で、個人的な趣味や時代遅れの作法を強制してはならないことが解説されています。
お礼
返事が送れて申し訳ありませんでした。 ご紹介の書籍ですが、非常に興味があります。 ありがとうございました。
- aris-wiz
- ベストアンサー率38% (96/252)
この命名規則が何に従っているのかがわかりませんが、 もしも、ハンガリアン表記でコーティングされているならば、 「i」はindexつまり配列の添え字としての意味を持つ為、 int型としては「n」(number/int のn?)としていると思われます。 これらの記述方法は、これが使用されているという前提で コードを読み進めると非常に危険です。 もしも、あなたのようにint型をiで書きたい人が居た場合、 勝手にハンガリアン表記で読み進めると痛い目を見ます。 書式を統一するのは重要です。 しかし、コーディング規約とは全てが同じではありません。 その都度でその規約に従って、読み書きする必要のあるものです。 コーディング規約で決まっているならそれに従えば良いと思います。
お礼
コーディング規約で決まっているわけでは無いです。 お客さんのサンプルコードがそうなっていたので、一般的にこういう書き方をするのかな?と思いました。 客先のコーディング規約なのかもしれません。
- linus21
- ベストアンサー率66% (8/12)
どのソースコードにそう書かれていたのか知りませんが、そのソースを書いた個人または集団の好みもしくはポリシー(コーディング規約)なのではないでしょうか? ご質問の場所が「C/C++」との事なので、それ系のコーディング規約に関わる事だと思います。 バグ回避・読み易くする為に名前の付け方を統一するのは当然です。 ハッキリ言えば、個人でコーディングするなら好きに名前を付ければいいと思います(他には誰もソースコードを読む事が無い場合)。 集団で開発している場合は、集団内でコーディング規約を作るべきです。 以下のサイトを参考にしてみたらどうでしょう?
お礼
お客さんのコードです。 客先の決まりなのかもしれません。 マイクロソフトでも例えば以下のように使っているので、エンジニアで共通なのかと思っていました。 ご意見参考にさせていただきます。 typedef struct tagVIDEOINFOHEADER { RECT rcSource, RECT rcTarget; DWORD dwBitRate; DWORD dwBitErrorRate; REFERENCE_TIME AvgTimePerFrame; BITMAPINFOHEADER bmiHeader; } VIDEOINFOHEADER;
お礼
参考URLありがとうございます。 ハンガリアン記法というのですね。 どうやら、長所、短所があるようですね。