c語言源程序名的后綴命名規(guī)則_第1頁
c語言源程序名的后綴命名規(guī)則_第2頁
c語言源程序名的后綴命名規(guī)則_第3頁
c語言源程序名的后綴命名規(guī)則_第4頁
c語言源程序名的后綴命名規(guī)則_第5頁
已閱讀5頁,還剩2頁未讀 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

1、C語言源程序命名規(guī)則C是一門樸素的語言,你使用的命名也應(yīng)該這樣。與Modula-2和 Pascal 程序員不同,C 程序員不使用“ThisVariablelsATemporaryCounter這 樣聰明的名字。C程序員應(yīng)該叫它“tmp,這寫起來更簡單,也不會更 難懂。然而,當(dāng)面對復(fù)雜情況時就有些棘手,給全局變量取一個描述性的名 字是必要的。把一個全局函數(shù)叫做“foo是一種目光短淺的行為。全局函 數(shù)也一樣,如果你有一個統(tǒng)計當(dāng)前用戶個數(shù)的函數(shù),應(yīng)當(dāng)把它命名為 “count_active_user()或者簡單點些的類似名稱,不應(yīng)該命名為“cntusr()。1、三種流行的命名法則目前,業(yè)界共有四種命名

2、法則:駝峰命名法、匈牙利命名法、帕斯卡 命名法和下劃線命名法,其中前三種是較為流行的命名法。(1)駝峰命令法。正如它的名稱所表示的那樣,是指混合使用大小寫 字母來構(gòu)成變量和函數(shù)的名字。例如,下面是分別用駱駝式命名法和下劃 線法命名的同一個函數(shù):printEmployeePaychecks();print_employee_paychecks();第一個函數(shù)名使用了駝峰命名法,函數(shù)名中的每一個邏輯斷點都有一 個大寫字母來標(biāo)記。第二個函數(shù)名使用了下劃線法,函數(shù)名中的每一個邏 輯斷點都有一個下劃線來標(biāo)記。駝峰命名法近年來越來越流行了,在許多新的函數(shù)庫和Microsoft Windows這樣的環(huán)境中,

3、它使用得當(dāng)相多。另一方面,下劃線法是C出 現(xiàn)后開始流行起來的,在許多舊的程序和UNIX這樣的環(huán)境中,它的使用 非常普遍。(2)匈牙利命名法。廣泛應(yīng)用于象Microsoft Windows這樣的環(huán)境中。 Windows編程中用到的變量(還包括宏)的命名規(guī)則為匈牙利命名法,這種 命名技術(shù)是由一位能干的Microsoft程序員查爾斯-西蒙尼(Charles Simonyi)提出的。匈牙利命名法通過在變量名前面加上相應(yīng)的小寫字母的符號標(biāo)識作 為前綴,標(biāo)識出變量的作用域、類型等。這些符號可以多個同時使用,順 序是先m_(成員變量)、再指針、再簡單數(shù)據(jù)類型、再其它。這樣做的好 處在于能增加程序的可讀性,便

4、于對程序的理解和維護。例如:m_lpszStr,表示指向一個以0字符結(jié)尾的字符串的長指針成員 變量。匈牙利命名法關(guān)鍵是:標(biāo)識符的名字以一個或者多個小寫字母開頭作為前 綴;前綴之后的是首字母大寫的一個單詞或多個單詞組合,該單詞要指明 變量的用途。(3)帕斯卡(pascal)命名法。與駝峰命名法類似,二者的區(qū)別在于:駝 峰命名法是首字母小寫,而帕斯卡命名法是首字母大寫,如: DisplayInfo();string UserName;二者都是采用了帕斯卡命名法。三種命名規(guī)則的小結(jié):MyData就是一個帕斯卡命名的示例; myData是一個駝峰命名法,它第一個單詞的第一個字母小寫,后面的單詞 首字母

5、大寫,看起來像一個駱駝;iMyData是一個匈牙利命名法,它的小寫 的i說明了它的型態(tài),后面的和帕斯卡命名相同,指示了該變量的用途。2、命名的基本原則標(biāo)識符的命名要清晰、明了,有明確含義,同時使用完整的單詞 或大家基本可以理解的縮寫,避免使人產(chǎn)生誤解一一盡量采用采用英文單 詞或全部中文全拼表示,若出現(xiàn)英文單詞和中文混合定義時,使用連字符 、將英文與中文割開。較短的單詞可通過去掉元音形成縮寫;較長的 單詞可取單詞的頭幾個字母形成縮寫;一些單詞有大家公認的縮寫。例如: temp-tmp、flag-flg、statistic-stat、increment-inc、message-msg 等縮 寫能夠

6、被大家基本認可。(2)命名中若使用特殊約定或縮寫,則要有注釋說明。應(yīng)該在源文件 的開始之處,對文件中所使用的縮寫或約定,特別是特殊的縮寫,進行必 要的注釋說明。自己特有的命名風(fēng)格,要自始至終保持一致,不可來回變化。個 人的命名風(fēng)格,在符合所在項目組或產(chǎn)品組的命名規(guī)則的前提下,才可使 用。(即命名規(guī)則中沒有規(guī)定到的地方才可有個人命名風(fēng)格)。對于變量命名,禁止取單個字符(如i、j、k.),建議除了要有具 體含義外,還能表明其變量類型、數(shù)據(jù)類型等,但i、j、k作局部循環(huán) 變量是允許的。變量,尤其是局部變量,如果用單個字符表示,很容易敲 錯(如i寫成j),而編譯時又檢查不出來,有可能為了這個小小的錯誤

7、而花 費大量的查錯時間。除非必要,不要用數(shù)字或較奇怪的字符來定義標(biāo)識符。命名規(guī)范必須與所使用的系統(tǒng)風(fēng)格保持一致,并在同一項目中統(tǒng)一一o在同一軟件產(chǎn)品內(nèi),應(yīng)規(guī)劃好接口部分標(biāo)識符(變量、結(jié)構(gòu)、函數(shù) 及常量)的命名,防止編譯、鏈接時產(chǎn)生沖突。對接口部分的標(biāo)識符應(yīng)該 有更嚴(yán)格限制,防止沖突。如可規(guī)定按口部分的變量與常量之前加上模 塊標(biāo)識等。用正確的反義詞組命名具有互斥意義的變量或相反動作的函數(shù) 等。下面是一些在軟件中常用的反義詞組。add / remove begin / end create / destroy insert / delete first / last g et / release

8、increment / decrement put / get add / delete lock / unlock open / close min / max old / new start / stopnext / 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 );除

9、了編譯開關(guān)/頭文件等特殊應(yīng)用,應(yīng)避免使用_EXAMPLE_TEST 之類以下劃線開始和結(jié)尾的定義。3、變量名的命名規(guī)則(1)變量的命名規(guī)則要求用匈牙利法則。即開頭字母用變量的類型,其余部分用變量的英文意思、英文的縮寫、中 文全拼或中文全拼的縮寫,要求單詞的第一個字母應(yīng)大寫。即:變量名二變量類型+變量的英文意思(或英文縮寫、中文全拼、中文全 拼縮寫)對非通用的變量,在定義時加入注釋說明,變量定義盡量可能放在函數(shù)的 開始處。見下表:bool用b開頭bFlgint 用 i 開頭 iCountshort int 用 n 開頭 nStepCountlong int 用 l 開頭 ISumchar 用 c

10、 開頭 cCountunsigned char 用 by 開頭float 用 f 開頭 fAvgdouble 用 d 開頭 dDetaunsigned int(WORD)用 w 開頭 wCountunsigned long int(DWORD)用 dw 開頭 dwBroad字符串用s開頭sFileName用0結(jié)尾的字符串用sz開頭szFileName(2)指針變量命名的基本原則為:對一重指針變量的基本原則為:p+變量類型前綴+命名,如一個float* 型應(yīng)該表示為pfStat。對二重指針變量的基本規(guī)則為:“pp+變量類型前 綴+命名。對三重指針變量的基本規(guī)則為:“ppp+變量類型前綴+命名。(

11、3)全局變量用g_開頭,如一個全局的長型變量定義為g_lFailCount。即:變量名=g_+變量類型+變量的英文意思(或縮寫)。此規(guī)則還可避免局 部變量和全局變量同名而引起的問題。靜態(tài)變量用s_開頭,如一個靜態(tài)的指針變量定義為s_plPerv_Inst。即:變量名=s_+變量類型+變量的英文意思(或縮寫)(5)對枚舉類型(enum)中的變量,要求用枚舉變量或其縮寫做前綴。 并且要求用大寫。如:enum cmEMDAYS(EMDAYS_MONDAY;EMDAYS_TUESDAY;);對struct, union變量的命名要求定義的類型用大寫。并要加上前 綴,其內(nèi)部變量的命名規(guī)則與變量命名規(guī)則一

12、致。結(jié)構(gòu)一般用S開頭,如:struct ScmNPoint(int nX;點的X位置int nY; 點的Y位置);聯(lián)合體一般用U開頭,如:union UcmLPoint(LONG lX;LONG lY;)對常量(包括錯誤的編碼)命名,要求常量名用大寫,常量名用英文 表達其意思。當(dāng)需要由多個單詞表示時,單詞與單詞之間必須采用連字符 、連接。如:#define CM_FILE_NOT_FOUND CMMAKEHR(0X20B)其中 CM 表示類別。(8)對const的變量要求在變量的命名規(guī)則前加入c_。即:c_+變量命 名規(guī)則;示例:const char* c_szFileName;4、函數(shù)的命名

13、規(guī)范函數(shù)的命名應(yīng)該盡量用英文(或英文縮寫、中文全拼、中文全拼縮 寫)表達出函數(shù)完成的功能一一函數(shù)名應(yīng)準(zhǔn)確描述函數(shù)的功能。遵循動賓 結(jié)構(gòu)的命名法則,函數(shù)名中動詞在前,并在命名前加入函數(shù)的前綴,函數(shù) 名的長度不得少于8個字母。函數(shù)名首字大寫,若包含有兩個單詞的每 個單詞首字母大寫。如果是OOP方法,可以只有動詞(名詞是對象本身)。 示例:LONG GetDeviceCount();void print_record( unsigned int rec_ind );int input_record( void );unsigned char get_current_color( void );(2)避免使用無意義或含義不清的動詞為函數(shù)命名。如使用process, handle等為函數(shù)命名,因為這些動詞并沒有說明要具體做什么。(3)必須使用函數(shù)原型聲明。函數(shù)原型聲明包括:引用外來函數(shù)及內(nèi) 部函數(shù),外部引用必須在右側(cè)注明函數(shù)來源:模塊名及文件名;內(nèi)部函 數(shù),只要注釋其定義文件名一一和調(diào)用者在同一文件中(簡單程序)時不需 要注釋。應(yīng)確保每個函數(shù)聲明中的參數(shù)的名稱、類型和定義中的名稱、類型一致。5、函數(shù)參數(shù)命名規(guī)范參數(shù)名稱的命名參照變量命名規(guī)范。為了提高程序的運行效率,減少參數(shù)占用的堆棧,傳遞大結(jié)構(gòu)的參

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論