0

私が見たコードの多くの例では、特定の方法で変数に名前を付けています。

例えば

class obj
{
    int mInt;
}

また

bool gTexture;

質問。

  1. なぜ彼らはそのように名前を付けるのですか、そして確かにもっと多くの方法があると思います...
  2. それらにどのように名前を付けますか、またその理由は何ですか?

ありがとうございました

4

6 に答える 6

1

mInt の m は int がメンバー変数であることを表し、gTexture の g は変数がグローバルであることを示します。

これはハンガリー記法に由来します。

http://en.wikipedia.org/wiki/Hungarian_notation

于 2013-06-05T09:17:50.370 に答える
0

ネーミングは個人的に。2 番目の質問に答えるために、私はそのような命名規則を使用せず、クラス属性にアンダースコアを追加します。

企業には多くの場合、命名規則があります。Google の命名規則を参照してください: http://google-styleguide.googlecode.com/svn/trunk/cppguide.xml#General_Naming_Rules

于 2013-06-05T09:19:13.073 に答える
0

なぜ彼らはそのように名前を付けるのですか、そして確かにもっと多くの方法があると思います...

一般に、他の人のコードを理解することは困難です。十分な時間が経過すると、自分のコードも理解するのが難しくなります。

このため、ソフトウェア チームは、自分たちのチームが作成するコードが自分たちで作成するコードと可能な限り類似していることを確認するための規則を設定します。

これは、コードの構造化、使用される要素 (インターフェイス、クラス、名前空間など)、関数と変数の命名、何をどの形式で文書化するかなどを指します。

適切かつ一貫して実行すると、チーム内でのコードのメンテナンス時間を短縮するという大きな効果があります。

既知の規則がいくつかありますが、そのほとんどは、大規模なコード ベースの実装やライブラリの使用に使用される規則です。

Java が使用する傾向がありますcamelCaseNotation(小文字で開始し、アンダースコアを使用せず、各単語を大文字にする)。

MFC はハンガリー語表記を使用し、変数名の前にデータのスコープとタイプを指定するいくつかの文字 (メンバー変数の場合は m_XXX、グローバルの場合は g_XXX、静的変数の場合は s_XXX など) を付けます。

特に、ハンガリー語の規則は (意味情報に接頭辞を使用することで) 正しい場合もあれば (構文情報に接頭辞を使用することで) ひどく間違っている場合もあります。

(MFCはひどく間違っていました。)

small_letters_with_underscoresANSI C++ (および std:: 名前空間) は、識別子に使用する傾向があります。

他にもあり、ほとんどのソフトウェア チームは、大きなものの 1 つのバリエーションである規約を設定しています。

それらにどのように名前を付けますか、またその理由は何ですか?

最近は ANSI C++ の規則に従っていますが、その主な理由は、自分のコードをライブラリ コードとシームレスに統合したいからです。また、シンプルで明白に見えると思います (これは非常に主観的です)。

私はめったに 1 文字の変数を使用せず (意味が明確な場合のみ)、短い単語よりも完全な単語を好みます。

例:

索引:int index, line_index, col_index;

クラス名:class recordset; class task_details;など

于 2013-06-05T11:19:40.540 に答える
0

あなたが与えた例では、メンバー変数に「m」、グローバルに「g」を使用しています。これは一部の人が使用するものです。これにより、メンバー関数を簡単に確認できます (関数が数行よりも少し大きい場合、関数の上部を見上げてパラメーターやローカル変数などの名前を確認することはできません)。 )、「ローカル変数」とは何か、「関数外」に影響を与えるものは何か。

会社、学校、またはオープンソース プロジェクトで働いている場合、命名規則が何であるかを示すコーディング標準が存在する可能性が最も高いでしょう。それがあなたの個人的なプロジェクトである場合は、あなたにとってうまくいくと思うものを決めてください. 首尾一貫していることがポイントです。すべてのメンバー変数が 'm' で始まるわけではなく、すべてのグローバル変数が 'g' で始まるわけでもない場合、それをいくつかの場所に置くことはかなり無意味です - 誤った安心感を与えるだけです。

于 2013-06-05T09:21:05.793 に答える
0

特定の表記法に従う必要はありませんが、従えばクールです。

すべてはコードの明快さに関するものです。大文字のない変数は、適切なシンタックスを持つ変数よりも本当に理解しにくいものです。(最初のビューで、コードの一部をすばやく見たとき)

明確なコードについては、Google の C++ コードの規範をお勧めします: http://google-styleguide.googlecode.com/svn/trunk/cppguide.xml

于 2013-06-05T09:24:26.377 に答える
-1
  1. http://en.wikipedia.org/wiki/Hungarian_notation

  2. 本当の質問ではありません。誰もが好きなように名前を付けます。ただし、次のガイドラインを読むことができます: http://msdn.microsoft.com/en-us/library/vstudio/ms229045(v=vs.100).aspx

于 2013-06-05T09:16:36.663 に答える