最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

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

 更新時間:2013年07月12日 09:04:19   投稿:jingxian  
以下是對C++中的命名規(guī)則進行了詳細的分析介紹,需要的朋友可以參考下

一、命名的兩個基本原則
1、含義清晰,不易混淆;
2、不和其它模塊、系統(tǒng)API的命名空間相沖突。
 
二、命名通則
1、在所有命名中,都應使用標準的英文單詞或縮寫;不得使用拼音或拼音縮寫,除非該名字描述的是文
特有的內容(如半角、全角、聲母、韻母等);除非必要,不要用數字或較奇怪的字符來定義標識符。
2、所有命名都應遵循達意原則,即名稱應含義清晰、明確。
3、所有命名都不易過長,應控制在規(guī)定的最大長度以內。
4、所有命名都應盡量使用全稱。
5、命名中若使用特殊約定或縮寫,則要有注釋說明。
6、自己特有的命名風格,要自始至終保持一致,不可來回變化。

說明:個人的命名風格,在符合所在項目組或產品組的命名規(guī)則的前提下,才可使用。(即命名規(guī)則中沒有規(guī)定到的地方才可有個人命名風格)。

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

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

9、命名規(guī)范必須與所使用的系統(tǒng)風格保持一致,并在同一項目中統(tǒng)一,比如采用UNIX的全小寫加下劃線的風格或大小寫混排的方式,不要使用大小寫與下劃線混排的   方式,用作特殊標識如標識成員變量或全局變量的m_和g_,其后加上大小寫混排的方式是允許的。
例: Add_User不允許,add_user、AddUser、m_AddUser允許。
說明:下面是一些在軟件中常用的反義詞組。

復制代碼 代碼如下:

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、程序中不要出現標識符完全相同的局部變量和全局變量,盡管兩者的作用域不同而不會發(fā)生語法錯誤,但會使人誤解。
 
三、具體規(guī)范
1、工程名
不強制統(tǒng)一。

2、文件名:
基于工程名,開頭3個字母應表明與哪一個工程相關。
后面的字母應能夠區(qū)別不同的功能。
不區(qū)分大小寫。
長度不限于8.3格式,建議不多于30個字符。
若文件用于定義和實現類,建議文件名與類名保持一致。

3、函數名:
參照 Windows API 的命名規(guī)范。
推薦使用動賓結構。函數名應清晰反映函數的功能、用途。
函數名最長不得超過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_:類的靜態(tài)成員變量
  s_ :靜態(tài)全局變量
  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;

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

   flag 可縮寫為 flg
   statistic 可縮寫為 stat
   increment 可縮寫為 inc
   message 可縮寫為 msg

相關文章

  • C語言詳細實現猜拳游戲流程

    C語言詳細實現猜拳游戲流程

    在學習了循環(huán)、分支、和函數之后,可以寫一些簡單的小游戲來給自己的編程之路增添一份樂趣。不僅提升了編碼能力,還可以邊學邊玩,簡直妙哉妙哉
    2022-05-05
  • C++課程設計之學生成績管理系統(tǒng)

    C++課程設計之學生成績管理系統(tǒng)

    這篇文章主要為大家詳細介紹了C++課程設計之學生成績管理系統(tǒng),文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2020-12-12
  • Qt GUI圖形圖像開發(fā)之QT表格控件QTableView詳細使用方法與實例

    Qt GUI圖形圖像開發(fā)之QT表格控件QTableView詳細使用方法與實例

    這篇文章主要介紹了Qt GUI圖形圖像開發(fā)之QT表格控件QTableView詳細使用方法與實例,需要的朋友可以參考下
    2020-03-03
  • C++中實現fibonacci數列的幾種方法

    C++中實現fibonacci數列的幾種方法

    本文主要介紹了C++中實現fibonacci數列的幾種方法,文中通過示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-01-01
  • C++實現LeetCode(889.由先序和后序遍歷建立二叉樹)

    C++實現LeetCode(889.由先序和后序遍歷建立二叉樹)

    這篇文章主要介紹了C++實現LeetCode(889.由先序和后序遍歷建立二叉樹),本篇文章通過簡要的案例,講解了該項技術的了解與使用,以下就是詳細內容,需要的朋友可以參考下
    2021-07-07
  • C語言中計算二叉樹的寬度的兩種方式

    C語言中計算二叉樹的寬度的兩種方式

    這篇文章主要介紹了C語言中計算二叉樹的寬度的兩種方式的相關資料,需要的朋友可以參考下
    2017-04-04
  • C語言實現從文件讀入一個3*3數組,并計算每行的平均值

    C語言實現從文件讀入一個3*3數組,并計算每行的平均值

    今天小編就為大家分享一篇C語言實現從文件讀入一個3*3數組,并計算每行的平均值,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-12-12
  • C++與QML進行數據交互實現方式介紹

    C++與QML進行數據交互實現方式介紹

    迫于無奈開始寫android的程序,以前使用QWidget的方式試過,雖然界面可以實現,但是最后調用攝像頭時,未能成功,再沒有繼續(xù)。這幾天開始使用qml進行嘗試,在使用的過程中,其中的一個難點,就是在qml與c++中數據的交互
    2022-09-09
  • C++類中三大函數詳解(構造、析構和拷貝)

    C++類中三大函數詳解(構造、析構和拷貝)

    c++三大函數指的是拷貝構造、拷貝賦值、析構函數,下面這篇文章主要給大家介紹了關于C++類中三大函數(構造、析構和拷貝)的相關資料,文中通過實例代碼介紹的非常詳細,需要的朋友可以參考下
    2023-03-03
  • VS2022配置編譯使用boost庫的實現

    VS2022配置編譯使用boost庫的實現

    本文介紹了如何在VS2022中配置和編譯使用Boost庫的步驟,包括下載Boost、解壓、配置環(huán)境變量和編譯等過程,具有一定的參考價值,感興趣的可以了解一下
    2024-12-12

最新評論

若羌县| 攀枝花市| 乌兰县| 海晏县| 万荣县| 赤水市| 和硕县| 大城县| 高密市| 凤阳县| 娄烦县| 永胜县| 兴安县| 瑞昌市| 大冶市| 乌鲁木齐市| 特克斯县| 册亨县| 平江县| 淳安县| 齐齐哈尔市| 西贡区| 通州市| 大理市| 绥芬河市| 日土县| 江源县| 花垣县| 巨鹿县| 泸溪县| 黄冈市| 新源县| 玛曲县| 保靖县| 久治县| 玛多县| 玉树县| 瑞金市| 五莲县| 大港区| 呼玛县|