C++コード仕様の命名規則


一、命名の二つの基本原則1、意味がはっきりしていて、紛らわしいです。2、他のモジュール、システムAPIの名前空間と競合しない。二、命名通則1、すべての命名には標準的な英語単語または略語を使用しなければならない。ピンインやピンインの略語を使ってはいけません。この名前が文章特有の内容(半角、全角、声母、韻母など)でない限り、必要でない限り、識別子は、数字または変な文字で定義しないでください。2、すべての名前は達意の原則を遵守しなければならない。即ち名称は意味が明確で明確であるべきである。3、すべての命名は長すぎず、規定の最大長さ以内に抑えるべきです。4、すべての名前はできるだけフルネームを使うべきです。5、命名には特別な約束や略語を使う場合は、コメントが必要です。6、自分特有の命名スタイルは、終始一貫して変化してはいけません。説明:個人の命名スタイルは、所在するプロジェクトグループまたは製品グループの命名規則に合致する前提で使用できます。つまり、命名規則に規定されていないところに個人の命名スタイルがあります)。7、同じソフトウェア製品において、インターフェース部分識別子(変数、構造、関数及び定数)の命名を計画し、コンパイル、リンク時の衝突を防止しなければならない。8、変数の名前については、単一の文字(i、j、kなど)を取ることが禁止されています。具体的な意味がある以外に、変数の種類、データのタイプなども示していますが、i、j、kはローカルループ変数として許可されています。説明:変数、特に局部変数は、単一文字で表現すると、間違えやすいです。(iはjと書いてあります。)コンパイルした時又では確認できません。この小さいエラーのために、多くの検索ミスが発生する可能性があります。例:以下に示す局部変数名の定義方法を参照してください。int liv_Widthその変数名は以下の通りである。l局所変数(Local)  (その他:gグローバル変数(Global)…)iデータタイプ(Interger)v変数(Varable)   (その他:c定数(Cost)…)Width  変数の意味は、ローカル変数とグローバル変数の名前の変更を防ぐことができます。9、命名規範は使用されているシステムスタイルと一致していなければならず、同じ項目で統一されています。例えば、UNIXの全小文字に下線を付けるスタイルや大文字と小文字を混ぜて並べてはいけません。小文字と下線を混ぜて並べないようにしてください。  を使用して、メンバー変数やグローバル変数を識別するm_g_と、その後、大文字と小文字を入れて混ぜ合わせる方式が許されます。例:Add_Userが許さない、add_user、AddUser、m_AddUserは許可する。10、相互反発の意味を持つ変数や反対動作の関数などを正しい対義語グループで命名します。以下はソフトウェアでよく使われる対義語グループです。

add / remove begin / end create / destroy   insert / delete
first / last get / releaseincrement / decrement   put / get
add / delete lock / unlockopen / closemin / max
old / newstart / stopnext / previoussource / target
show / hide  send / receive   up / downcut / paste
例:

   int  min_sum;
   int  max_sum;
   int  add_user( BYTE *user_name );
   int  delete_user( BYTE *user_name );
11、スイッチ/ヘッダファイルのコンパイルなどの特殊なアプリケーションを除いて、_の使用を避けるべきです。EXAMPLE_TEST_などの下線の開始と終了の定義があります。12、プログラムには、識別子が完全に同じローカル変数とグローバル変数が現れないようにしてください。両者の作用領域が違っていても、文法エラーが発生しないです。しかし、誤解されます。三、具体的な規範1、工事名は強制的に統一しない。
2、文書名:工程名に基づいて、最初の3文字はどの工程と関連があるかを示すべきです。後ろの文字は違った機能を区別できるはずです。大文字と小文字を区別しない。長さは8.3フォーマットに限らず、30文字以上は推奨されていません。ファイルが定義と実装クラスに使用される場合、ファイル名はクラス名と一致することを推奨します。
3、関数名:Windows APIの命名仕様を参照してください。動賓構造の使用を推奨します。関数名は、関数の機能、用途を明確に反映する必要があります。関数名は最長30文字を超えてはいけません。関数名の最初の文字は大文字でなければなりません。大域関数は小文字プレフィックス「g」で始まる必要があります。大域関数の名前は「動詞」または「動詞+名詞」を使います。クラスのメンバー関数は「動詞」だけを使います。省略された名詞は対象そのものです。例:DrawBox()///グローバル関数box->Draw()//。クラスのメンバー関数
4、変数名:原則として、変数名の命名はハンガリー記法に従う。すなわち、プレフィックス+タイプ+変数名変数名は最長で20文字を超えてはいけません。変数の名前は「名詞」または「形容詞+名詞」を使うべきです。例:  float value;  float oldValue1)フォーマット:[m|s𞓜g_type[class name|structname]variable name 2)解釈:  m_:クラスのメンバー変数  ms_:クラスの静的メンバー変数  s_:静的グローバル変数  g_:通常のグローバル変数  タイプの略語(type)  char、TCHAR:ch  char[],TCHAR[]:sz  book、BOOL:b  ポイントint 16,_u uint 32,_uint 64:n  long:l  double:d  float:ft  BYTE:by  WORD:w  DWORD:dw  unsigned:u  function:fn  p:pointer  lp:pointer 5、類名:大文字の「K」で始まる必要があります。後ろの文字は具体的な意味を反映して、はっきりと種類の用途と機能を表現することを原則としています。インターフェースは大文字の「I」で始まる必要があります。Interfaceを表します。名前が複数の単語で構成される場合、各単語の最初の文字は大文字でなければなりません。
6、構造名、マクロ名、列挙名、連名:すべて大文字です。列挙名に小文字の接頭辞「enum」を付ける。例:

 typedef enum _KFILE_OPEN_MODE
   {
 enumOPEN_READONLY = 0;
 enumOPEN_READWRITE = 1;
 enumCREATE_ALWAY = 3 ;
} KFILE_OPEN_MODE;
"def"。
例:〹define defMAX NUMBER 100  構造名に小文字の接頭辞「タグ」を付け、その後は大文字の「K」で始まる必要があります。例:

 typedef struct tagKPOINT
 {
int x;
int y;
} KPOINT;
連名に小文字プレフィックス「uni」を付ける。例:

typedef union _VARIANT
{
  char unichVal;
  int uninVal;
  long unilVal;
  float uniftVal;
} VARIANT;
は、インターフェース部分の識別子に対してより厳格に制限され、衝突を防止すると説明している。インターフェース部分の変数と定数が規定される前に加算します。  “モジュール」表示など。説明:ソースファイルの開始点において、ファイルに使用される略語や約束、特に特殊な略語について、必要な注釈説明を行うべきである。説明:短い単語は「母音」を除いて略語になります。長い単語の頭のいくつかの文字を略語にします。いくつかの単語にはみんなが認めている略語があります。例:tempはtmp

   flag flg
   statistic stat
   increment inc
   message msg
と略されます。