C/C++ 编程规范(02)— 标识符命名
生活随笔
收集整理的這篇文章主要介紹了
C/C++ 编程规范(02)— 标识符命名
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
- 標識符的命名要清晰、明了,有明確含義,同時使用完整的單詞或大家基本可以理解的縮寫,避免使人產生誤解。
說明:較短的單詞可通過去掉“元音”形成縮寫;較長的單詞可取單詞的頭幾個字母形成縮寫;一 些單詞有大家公認的縮寫。
示例:如下單詞的縮寫能夠被大家基本認可。
temp 可縮寫為 tmp ;
flag 可縮寫為 flg ;
statistic 可縮寫為 stat ;
increment 可縮寫為 inc ;
message 可縮寫為 msg ;
- 命名中若使用特殊約定或縮寫,則要有注釋說明。
說明:應該在源文件的開始之處,對文件中所使用的縮寫或約定,特別是特殊的縮寫,進行必要的注釋說明。
- 自己特有的命名風格,要自始至終保持一致,不可來回變化。
說明:個人的命名風格,在符合所在項目組或產品組的命名規則的前提下,才可使用。(即命名規則中沒有規定到的地方才可有個人命名風格)。
?
- 對于變量命名,禁止取單個字符(如 i、j、k…),建議除了要有具體含義外,還能表明其變量類型、數據類型等,但 i、j、k 作局部循環變量是允許的。
說明:變量,尤其是局部變量,如果用單個字符表示,很容易敲錯(如 i 寫成 j),而編譯時又檢查不出來,有可能為了這個小小的錯誤而花費大量的查錯時間。
示例:下面所示的局部變量名的定義方法可以借鑒。
int liv_Width
其變量名解釋如下:
| l | 局部變量(Local) | (其它:g | 全局變量(Global)…) |
|---|---|---|---|
| i | 數據類型(Interger) | ||
| v | 變量(Variable) | (其它:c | 常量(Const)…) |
Width 變量的含義。
?
這樣可以防止局部變量與全局變量重名。
- 命名規范必須與所使用的系統風格保持一致,并在同一項目中統一,比如采用
UNIX的全小寫加下劃線的風格或大小寫混排的方式,不要使用大小寫與下劃線混排的方式,用作特殊標識如標識成員變量或全局變量的m_和g_,其后加上大小寫混排的方式是允許的。
示例: Add_User 不允許,add_user、AddUser、m_AddUser 允許。
- 除非必要,不要用數字或較奇怪的字符來定義標識符。
示例:如下命名,使人產生疑惑。
#define _EXAMPLE_0_TEST_
#define _EXAMPLE_1_TEST_
void set_sls00( BYTE sls );應改為有意義的單詞命名
#define _EXAMPLE_UNIT_TEST_
#define _EXAMPLE_ASSERT_TEST_
void set_udt_msg_sls( BYTE sls );
- 在同一軟件產品內,應規劃好接口部分標識符(變量、結構、函數及常量)的命名,防止編譯、鏈接時產生沖突。
說明:對接口部分的標識符應該有更嚴格限制,防止沖突。如可規定接口部分的變量與常量之前加上“模塊”標識等。
- 用正確的反義詞組命名具有互斥意義的變量或相反動作的函數等。
說明:下面是一些在軟件中常用的反義詞組。
add / remove
begin / end
create / destroy
insert / delete
first / last
get / release
increment / decrement
put / get
add / delete
lock / unlock
open / close
min / max
old / new
start / stop
next / previous
source / target
show / hide
send / receive
source / destination
cut / paste
up / down
示例:
int min_sum;
int max_sum;
int add_user( BYTE *user_name );
int delete_user( BYTE *user_name );
- 除了編譯開關/頭文件等特殊應用,應避免使用
_EXAMPLE_TEST_之類以下劃線開始和結尾的定義 。
總結
以上是生活随笔為你收集整理的C/C++ 编程规范(02)— 标识符命名的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 2022-2028年中国塑料合成革的制造
- 下一篇: 2022-2028年中国塑料人造革行业市