您好,登錄后才能下訂單哦!
今天小編給大家分享一下C語言如何命名標(biāo)識(shí)符的相關(guān)知識(shí)點(diǎn),內(nèi)容詳細(xì),邏輯清晰,相信大部分人都還太了解這方面的知識(shí),所以分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后有所收獲,下面我們一起來了解一下吧。
1、標(biāo)識(shí)符的命名要清晰、明了,有明確含義,同時(shí)使用完整的單詞或大家基本可以理解的縮寫,避免使人產(chǎn)生誤解
說明:盡可能給出描述性名稱,不要節(jié)約空間,讓別人很快理解你的代碼更重要。
示例:好的命名:
interror_number;
intnumber_of_completed_connection;
不好的命名:使用模糊的縮寫或隨意的字符:
intn;
intnerr;
intn_comp_conns;
2、除了常見的通用縮寫以外,不使用單詞縮寫,不得使用漢語拼音
說明:較短的單詞可通過去掉“元音”形成縮寫,較長(zhǎng)的單詞可取單詞的頭幾個(gè)字母形成縮寫,一些單詞有大家公認(rèn)的縮寫,常用單詞的縮寫必須統(tǒng)一。協(xié)議中的單詞的縮寫與協(xié)議保持一致。對(duì)于某個(gè)系統(tǒng)使用的專用縮寫應(yīng)該在注視或者某處做統(tǒng)一說明。
示例:一些常見可以縮寫的例子:
argument 可縮寫為arg
buffer 可縮寫為buff
clock 可縮寫為clk
command 可縮寫為cmd
compare 可縮寫為cmp
configuration 可縮寫為cfg
device 可縮寫為dev
error 可縮寫為err
hexadecimal 可縮寫為hex
increment 可縮寫為inc、
initialize 可縮寫為init
maximum 可縮寫為max
message 可縮寫為msg
minimum 可縮寫為min
parameter 可縮寫為para
previous 可縮寫為prev
register可縮寫為reg
semaphore 可縮寫為sem
statistic 可縮寫為stat
synchronize 可縮寫為sync
temp 可縮寫為tmp
3、產(chǎn)品/項(xiàng)目組內(nèi)部應(yīng)保持統(tǒng)一的命名風(fēng)格
說明:Unix like和windows like風(fēng)格均有其擁躉,產(chǎn)品應(yīng)根據(jù)自己的部署平臺(tái),選擇其中一種,并在產(chǎn)品內(nèi)部保持一致。
例外:即使產(chǎn)品之前使用匈牙利命名法,新代碼也不應(yīng)當(dāng)使用。
4、用正確的反義詞組命名具有互斥意義的變量或相反動(dòng)作的函數(shù)等
示例:
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 copy/paste up/down
5、盡量避免名字中出現(xiàn)數(shù)字編號(hào),除非邏輯上的確需要編號(hào)
示例:如下命名,使人產(chǎn)生疑惑。
#define EXAMPLE_0_TEST_
#define EXAMPLE_1_TEST_
應(yīng)改為有意義的單詞命名
#define EXAMPLE_UNIT_TEST_
#define EXAMPLE_ASSERT_TEST_
6、標(biāo)識(shí)符前不應(yīng)添加模塊、項(xiàng)目、產(chǎn)品、部門的名稱作為前綴
說明:很多已有代碼中已經(jīng)習(xí)慣在文件名中增加模塊名,這種寫法類似匈牙利命名法,導(dǎo)致文件名不可讀,并且?guī)韼砣缦聠栴}:
1 第一眼看到的是模塊名,而不是真正的文件功能,阻礙閱讀;
2 文件名太長(zhǎng);
3 文件名和模塊綁定,不利于維護(hù)和移植。若foo.c進(jìn)行重構(gòu)后,從a模塊挪到b模塊,若foo.c中有模塊名,則需要將文件名從a_module_foo.c改為b_module_foo.c
7、命名規(guī)范
7.1 文件命名統(tǒng)一采用小寫字符
說明:因?yàn)椴煌到y(tǒng)對(duì)文件名大小寫處理會(huì)不同(如MS的DOS、Windows系統(tǒng)不區(qū)分大小寫,但是Linux系統(tǒng)則區(qū)分),所以代碼文件命名建議統(tǒng)一采用全小寫字母命名。
7.2 全局變量應(yīng)增加“g_”前綴
7.3 靜態(tài)變量應(yīng)增加“s_”前綴
說明:增加g_前綴或者s_前綴,原因如下:
首先,全局變量十分危險(xiǎn),通過前綴使得全局變量更加醒目,促使開發(fā)人員對(duì)這些變量的使用更加小心。
其次,從根本上說,應(yīng)當(dāng)盡量不使用全局變量,增加g_和s_前綴,會(huì)使得全局變量的名字顯得很丑陋,從而促使開發(fā)人員盡量少使用全局變量。
7.4 禁止使用單字節(jié)命名變量,但允許定義i、j、k作為局部循環(huán)變量
7.5 不建議使用匈牙利命名法。
7.6 函數(shù)命名應(yīng)以函數(shù)要執(zhí)行的動(dòng)作命名,一般采用動(dòng)詞或者動(dòng)詞+名詞的結(jié)構(gòu)。
7.7 對(duì)于數(shù)值或者字符串等等常量的定義,建議采用全大寫字母,單詞之間加下劃線‘_’的方式命名(枚舉同樣建議使用此方式定義)。
示例:
#define PI_ROUNDED 3.14
7.8 除了頭文件或編譯開關(guān)等特殊標(biāo)識(shí)定義,宏定義不能使用下劃線‘_’開頭和結(jié)尾。
說明:一般來說,’_’開頭、結(jié)尾的宏都是一些內(nèi)部的定義,ISO/IEC 9899(俗稱C99)中有如下的描述(6.10.8 Predefined macro names):
以上就是“C語言如何命名標(biāo)識(shí)符”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家閱讀完這篇文章都有很大的收獲,小編每天都會(huì)為大家更新不同的知識(shí),如果還想學(xué)習(xí)更多的知識(shí),請(qǐng)關(guān)注億速云行業(yè)資訊頻道。
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。