程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> C++ >> 關於C++ >> C++代碼標准之定名規矩

C++代碼標准之定名規矩

編輯:關於C++

C++代碼標准之定名規矩。本站提示廣大學習愛好者:(C++代碼標准之定名規矩)文章只能為提供參考,不一定能成為您想要的結果。以下是C++代碼標准之定名規矩正文


1、定名的兩個根本准繩
1、寄義清楚,不容易混雜;
2、和睦其它模塊、體系API的定名空間相抵觸。

2、定名公則
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 變量(Variable)   (其它:c常量(Const)...)
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、法式中不要湧現標識符完整雷同的部分變量和全局變量,雖然二者的感化域分歧而不會產生語法毛病,但會令人誤會。

3、詳細標准
1、工程名
不強迫同一。

2、文件名:
基於工程名,開首3個字母應注解與哪個工程相干。
前面的字母應可以或許差別分歧的功效。
不辨別年夜小寫。
長度不限於8.3格局,建議不多於30個字符。
若文件用於界說和完成類,建議文件名與類名堅持分歧。

3、函數名:
參照 Windows API 的定名標准。
推舉應用動賓構造。函數名應清楚反應函數的功效、用處。
函數名最長不得跨越30個字符。
函數名第一個字母必需年夜寫。
全局函數必需以小寫前綴"g"開首。全局函數的名字應該應用“動詞”或許“動詞+名詞”(動賓詞組)。類的成員函數應該只應用“動詞”,被省略失落的名詞就是對象自己。
例:
DrawBox(); // 全局函數
box->Draw(); // 類的成員函數

4、變量名:
准繩上,變量名的定名服從匈牙利記法。即:前綴 + 類型 + 變量名
變量名最長不得跨越20個字符。
變量的名字應該應用“名詞”或許“描述詞+名詞”。
例:
  float value;
  float oldValue;
1)格局:[m_|s_|g_] type [class name|struct name] variable name
2)說明:
  m_ : 類的成員變量
  ms_:類的靜態成員變量
  s_ :靜態全局變量
  g_ :通俗全局變量
  類型縮寫(type)
  char, TCHAR: ch
  char[],TCHAR[]: sz
  bool, BOOL: b
  int, __int16,__int32,__int64: 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 defMAXNUMBER 100
  構造名加小寫前綴"tag",以後必需以年夜寫"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

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved