代码的两种命名方法:驼峰命名、匈牙利命名(优缺点)
? ? ? ? ? 代碼的兩種命名方法:駝峰命名、匈牙利命名(優缺點)
一、駱駝命名法:
小駝峰法(camel方法)變量一般用小駝峰法標識。
第一個單詞以小寫字母開始;第二個單詞的首字母大寫或每一個單詞的首字母都采用大寫字母,
例如:myFirstName、myLastName
大駝峰法(Upper Camel Case)也稱為:帕斯卡命名法:(pascal方法)常用于類名,函數名,屬性,命名空間。
相比小駝峰法,大駝峰法把第一個單詞的首字母也大寫了。例如:public class DataBaseUser
下面是分別用駱駝式命名法和下劃線法命名的同一個函數:
printEmployeePaychecks();駱駝式命名法——函數名中的每一個邏輯斷點都有一個大寫字母來標記print_employee_paychecks();下劃線法----函數名中的每一個邏輯斷點都有一個下劃線來標記。二、匈牙利命名法:
基本原則是:變量名=屬性+類型+對象描述。
匈牙利命名法關鍵是:標識符的名字以一個或者多個小寫字母開頭作為前綴;前綴之后的是首字母大寫的一個單詞或多個單詞組合,該單詞要指明變量的用途。
匈牙利命名法通過在變量名前面加上相應的小寫字母的符號標識作為前綴,標識出變量的作用域,類型等。這些符號可以多個同時使用,順序是先m_(成員變量),再指針,再簡單數據類型,再其他。 例如:m_lpszStr, 表示指向一個以0字符結尾的字符串的長指針成員變量。
匈牙利命名法中常用的小寫字母的前綴:前 綴 ? ? ? ? ? ? 類 型 a ? ? ? ? ? ? ? ? ? ? 數組 (Array) ? b ? ? ? ? ? ? ? ? ? ? 布爾值 (Boolean) ? by ? ? ? ? ? ? ? ? ? 字節 (Byte) ? c ? ? ? ? ? ? ? ? ? ? 有符號字符 (Char) ? cb ? ? ? ? ? ? ? ? ? 無符號字符 (Char Byte,沒有多少人用) ? cr ? ? ? ? ? ? ? ? ? ?顏色參考值 (ColorRef) ? cx,cy ? ? ? ? ? ? ? 坐標差(長度 ShortInt) ? dw ? ? ? ? ? ? ? ? ? Double Word ? fn ? ? ? ? ? ? ? ? ? ?函數 ? h ? ? ? ? ? ? ? ? ? ? Handle(句柄) ? i ? ? ? ? ? ? ? ? ? ? ?整型 ? l ? ? ? ? ? ? ? ? ? ? ?長整型 (Long Int) ? lp ? ? ? ? ? ? ? ? ? ?Long Pointer ? m_ ? ? ? ? ? ? ? ? ?類的成員 ? n ? ? ? ? ? ? ? ? ? ? 短整型 (Short Int) ? np ? ? ? ? ? ? ? ? ? Near Pointer ? p ? ? ? ? ? ? ? ? ? ? Pointer ? s ? ? ? ? ? ? ? ? ? ? 字符串型 ? sz ? ? ? ? ? ? ? ? ? ?以null做結尾的字符串型 (String with Zero End) ? w ? ? ? ? ? ? ? ? ? ? Word三:匈牙利命名法優缺點
優點:
(1)匈牙利約定可以使得在命名中容易產生定義的區域變得準確清楚。特別是約定中對?First,Min,Last,Max 和 Lim 的準確區分在實際中是尤其有幫助的。
(2)匈牙利約定可以使人對編譯程序無法檢查的抽象數據類型進行檢查:cpaReformat[i]很可能是錯誤的,因為cpaReformat 不是數組,而 apaReformat[i]則可能是正確的,因為 apaReformat[i]是數組。? ?
(3)匈牙利約定可以在類型不嚴格的語言或環境中對類型進行說明。例如,在 Windows 環境下編程時,需要你放棄許多類型,這極大地限制了編譯程序進行嚴格類型檢查的能力。而建立約定則可以對環境的這一弱點作出補償,匈牙利約定還可以使名稱更簡潔,可以用?CMedals 而不用 TotalMedals 來代表獎牌的數量,使用 pNewScore,而不是用?NewScorePtr 命名一個新分數指針。
缺點:
(1)一些版本的匈牙利約定事實上忽視了用抽象數據類型作為基本類型。它們以程序語言中整型、長整型、浮點數和字符串為基礎來建立基本類型。
(2)匈牙利約定基本類型事實上是沒有什么價值的,因為它使得程序員陷入對類型進行人工檢查的困擾之中,而不是讓編譯程序對類型進行更加快速而又準確的檢查。這種形式匈牙利約定的另一個問題是它把數據的意義與其表現聯系在一起。比如,說明某一變量是整型的,把它改為長整型的時,不得不改動這一變量的名稱。
(3)匈牙利約定的最后一個問題是它鼓勵了懶惰、不含什么信息的變量名的出現。當程序員用hwnd 來命名對窗口的操作時,往往忽視了他所指的到底是哪種窗口、對話框、菜單還是幫助區的屏幕?顯然用 hwndmenu 要比 hwnd 清楚得多。以變量的意義為代價來獲得對其類型的精確描述顯然是愚蠢的。不過好在可以用加限定詞的辦法來同時獲得完整的意義和精確的類型。
總結
以上是生活随笔為你收集整理的代码的两种命名方法:驼峰命名、匈牙利命名(优缺点)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Android之高仿手机QQ聊天
- 下一篇: python运行按钮灰色_关于Andro