欧美大屁股bbbbxxxx,狼人大香伊蕉国产www亚洲,男ji大巴进入女人的视频小说,男人把ji大巴放进女人免费视频,免费情侣作爱视频

歡迎來(lái)到入門(mén)教程網(wǎng)!

C語(yǔ)言

當(dāng)前位置:主頁(yè) > 軟件編程 > C語(yǔ)言 >

C++代碼規(guī)范之命名規(guī)則

來(lái)源:本站原創(chuàng)|時(shí)間:2020-01-10|欄目:C語(yǔ)言|點(diǎn)擊: 次

一、命名的兩個(gè)基本原則
1、含義清晰,不易混淆;
2、不和其它模塊、系統(tǒng)API的命名空間相沖突。

二、命名通則
1、在所有命名中,都應(yīng)使用標(biāo)準(zhǔn)的英文單詞或縮寫(xiě);不得使用拼音或拼音縮寫(xiě),除非該名字描述的是文
特有的內(nèi)容(如半角、全角、聲母、韻母等);除非必要,不要用數(shù)字或較奇怪的字符來(lái)定義標(biāo)識(shí)符。
2、所有命名都應(yīng)遵循達(dá)意原則,即名稱(chēng)應(yīng)含義清晰、明確。
3、所有命名都不易過(guò)長(zhǎng),應(yīng)控制在規(guī)定的最大長(zhǎng)度以?xún)?nèi)。
4、所有命名都應(yīng)盡量使用全稱(chēng)。
5、命名中若使用特殊約定或縮寫(xiě),則要有注釋說(shuō)明。
6、自己特有的命名風(fēng)格,要自始至終保持一致,不可來(lái)回變化。

說(shuō)明:
個(gè)人的命名風(fēng)格,在符合所在項(xiàng)目組或產(chǎn)品組的命名規(guī)則的前提下,才可使用。(即命名規(guī)則中沒(méi)有規(guī)定到的地方才可有個(gè)人命名風(fēng)格)。

7、在同一軟件產(chǎn)品內(nèi),應(yīng)規(guī)劃好接口部分標(biāo)識(shí)符(變量、結(jié)構(gòu)、函數(shù)及常量)的命名,防止編譯、鏈接時(shí)產(chǎn)生沖突。
8、對(duì)于變量命名,禁止取單個(gè)字符(如i、j、k...),建議除了要有具體含義外,還能表明其變量類(lèi)型、數(shù)據(jù)類(lèi)型等,但i、j、k作局部循環(huán)變量是允許的。

說(shuō)明:
變量,尤其是局部變量,如果用單個(gè)字符表示,很容易敲錯(cuò)(如i寫(xiě)成j),而編譯時(shí)又檢查不出來(lái),有可能為了這個(gè)小小的錯(cuò)誤而花費(fèi)大量的查錯(cuò)時(shí)間。
例:下面所示的局部變量名的定義方法可以借鑒。
int liv_Width
其變量名解釋如下:
l 局部變量(Local)  (其它:g全局變量(Global)...)
i 數(shù)據(jù)類(lèi)型(Interger)
v 變量(Variable)   (其它:c常量(Const)...)
Width  變量含義
這樣可以防止局部變量與全局變量重名。

9、命名規(guī)范必須與所使用的系統(tǒng)風(fēng)格保持一致,并在同一項(xiàng)目中統(tǒng)一,比如采用UNIX的全小寫(xiě)加下劃線的風(fēng)格或大小寫(xiě)混排的方式,不要使用大小寫(xiě)與下劃線混排的   方式,用作特殊標(biāo)識(shí)如標(biāo)識(shí)成員變量或全局變量的m_和g_,其后加上大小寫(xiě)混排的方式是允許的。
例: Add_User不允許,add_user、AddUser、m_AddUser允許。
10、用正確的反義詞組命名具有互斥意義的變量或相反動(dòng)作的函數(shù)等。
說(shuō)明:下面是一些在軟件中常用的反義詞組。

復(fù)制代碼 代碼如下:

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

例:
復(fù)制代碼 代碼如下:

   int  min_sum;
   int  max_sum;
   int  add_user( BYTE *user_name );
   int  delete_user( BYTE *user_name );

11、除了編譯開(kāi)關(guān)/頭文件等特殊應(yīng)用,應(yīng)避免使用_EXAMPLE_TEST_之類(lèi)以下劃線開(kāi)始和結(jié)尾的定義。
12、程序中不要出現(xiàn)標(biāo)識(shí)符完全相同的局部變量和全局變量,盡管兩者的作用域不同而不會(huì)發(fā)生語(yǔ)法錯(cuò)誤,但會(huì)使人誤解。

三、具體規(guī)范
1、工程名
不強(qiáng)制統(tǒng)一。

2、文件名:
基于工程名,開(kāi)頭3個(gè)字母應(yīng)表明與哪一個(gè)工程相關(guān)。
后面的字母應(yīng)能夠區(qū)別不同的功能。
不區(qū)分大小寫(xiě)。
長(zhǎng)度不限于8.3格式,建議不多于30個(gè)字符。
若文件用于定義和實(shí)現(xiàn)類(lèi),建議文件名與類(lèi)名保持一致。

3、函數(shù)名:
參照 Windows API 的命名規(guī)范。
推薦使用動(dòng)賓結(jié)構(gòu)。函數(shù)名應(yīng)清晰反映函數(shù)的功能、用途。
函數(shù)名最長(zhǎng)不得超過(guò)30個(gè)字符。
函數(shù)名第一個(gè)字母必須大寫(xiě)。
全局函數(shù)必須以小寫(xiě)前綴"g"開(kāi)頭。全局函數(shù)的名字應(yīng)當(dāng)使用“動(dòng)詞”或者“動(dòng)詞+名詞”(動(dòng)賓詞組)。類(lèi)的成員函數(shù)應(yīng)當(dāng)只使用“動(dòng)詞”,被省略掉的名詞就是對(duì)象本身。
例:
DrawBox(); // 全局函數(shù)
box->Draw(); // 類(lèi)的成員函數(shù)

4、變量名:
原則上,變量名的命名遵從匈牙利記法。即:前綴 + 類(lèi)型 + 變量名
變量名最長(zhǎng)不得超過(guò)20個(gè)字符。
變量的名字應(yīng)當(dāng)使用“名詞”或者“形容詞+名詞”。
例:
  float value;
  float oldValue;
1)格式:[m_|s_|g_] type [class name|struct name] variable name
2)解釋?zhuān)?BR>  m_ : 類(lèi)的成員變量
  ms_:類(lèi)的靜態(tài)成員變量
  s_ :靜態(tài)全局變量
  g_ :普通全局變量
  類(lèi)型縮寫(xiě)(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、類(lèi)名:
必須以大寫(xiě)"K"開(kāi)頭,后面字母反映具體含義,以清晰表達(dá)類(lèi)的用途和功能為原則。
接口必須以大寫(xiě)"I"開(kāi)頭,代表 Interface 。
當(dāng)名稱(chēng)由多個(gè)單詞構(gòu)成時(shí),每一個(gè)單詞的第一個(gè)字母必須大寫(xiě)。

6、結(jié)構(gòu)名、宏名、枚舉名、聯(lián)合名:
全部大寫(xiě)。
枚舉名加小寫(xiě)前綴"enum"。
例:

復(fù)制代碼 代碼如下:

 typedef enum _KFILE_OPEN_MODE
   {
 enumOPEN_READONLY = 0;
 enumOPEN_READWRITE = 1;
 enumCREATE_ALWAY = 3 ;
} KFILE_OPEN_MODE;
宏名加小寫(xiě)前綴"def"。

例:
#define defMAXNUMBER 100
  結(jié)構(gòu)名加小寫(xiě)前綴"tag",之后必須以大寫(xiě)"K"開(kāi)頭。
例:
復(fù)制代碼 代碼如下:

 typedef struct tagKPOINT
 {
int x;
int y;
} KPOINT;

聯(lián)合名加小寫(xiě)前綴"uni"。
例:
復(fù)制代碼 代碼如下:

typedef union _VARIANT
{
  char unichVal;
  int uninVal;
  long unilVal;
  float uniftVal;
} VARIANT;

說(shuō)明:對(duì)接口部分的標(biāo)識(shí)符應(yīng)該有更嚴(yán)格限制,防止沖突。如可規(guī)定接口部分的變量與常量之前加上  “模塊”標(biāo)識(shí)等。
說(shuō)明:應(yīng)該在源文件的開(kāi)始之處,對(duì)文件中所使用的縮寫(xiě)或約定,特別是特殊的縮寫(xiě),進(jìn)行必要的注釋說(shuō)明。
說(shuō)明:較短的單詞可通過(guò)去掉“元音”形成縮寫(xiě);較長(zhǎng)的單詞可取單詞的頭幾個(gè)字母形成縮寫(xiě)。
一些單詞有大家公認(rèn)的縮寫(xiě)。
例:temp 可縮寫(xiě)為 tmp
復(fù)制代碼 代碼如下:

   flag 可縮寫(xiě)為 flg
   statistic 可縮寫(xiě)為 stat
   increment 可縮寫(xiě)為 inc
   message 可縮寫(xiě)為 msg

上一篇:關(guān)于C語(yǔ)言函數(shù)strstr()的分析以及實(shí)現(xiàn)

欄    目:C語(yǔ)言

下一篇:淺析int*p[ ]與int(*p)[ ]的區(qū)別

本文標(biāo)題:C++代碼規(guī)范之命名規(guī)則

本文地址:http://mengdiqiu.com.cn/a1/Cyuyan/4318.html

網(wǎng)頁(yè)制作CMS教程網(wǎng)絡(luò)編程軟件編程腳本語(yǔ)言數(shù)據(jù)庫(kù)服務(wù)器

如果侵犯了您的權(quán)利,請(qǐng)與我們聯(lián)系,我們將在24小時(shí)內(nèi)進(jìn)行處理、任何非本站因素導(dǎo)致的法律后果,本站均不負(fù)任何責(zé)任。

聯(lián)系QQ:835971066 | 郵箱:835971066#qq.com(#換成@)

Copyright © 2002-2020 腳本教程網(wǎng) 版權(quán)所有