匈牙利命名法的優缺點

2021-08-26 16:51:18 字數 1071 閱讀 4656

匈牙利約定優點

匈牙利約定與其它命名約定一樣,擁有由命名約定所帶來的一切共同優點。由於有這樣

多的標準名稱,因此在任何乙個單個子程式或程式中要特殊記憶的名字是非常少的。匈牙利

約定完全可以在不同專案中採用。

匈牙利約定可以使得在命名中容易產生定義的區域變得準確清楚。特別是約定中對

first,min,last,max 和 lim 的準確區分在實際中是尤其有幫助的。匈牙利約定可以使

人對編譯程式無法檢查的抽象資料型別進行檢查:cpareformat[i]很可能是錯誤的,因為

cpareformat 不是陣列,而 apareformat[i]則可能是正確的,因為 apareformat[i]是數

組。匈牙利約定可以在型別不嚴格的語言或環境中對型別進行說明。例如,在 windows 環

境下程式設計時,需要你放棄許多態別,這極大地限制了編譯程式進行嚴格型別檢查的能力。

而建立約定則可以對環境的這一弱點作出補償,匈牙利約定還可以使名稱更簡潔,可以用

cmedals 而不用 totalmedals 來代表獎牌的數量,使用 pnewscore,而不是用

newscoreptr 命名乙個新分數指標。

匈牙利約定缺點

一些版本的匈牙利約定事實上忽視了用抽象資料型別作為基本型別。它們以程式語言

中整型、長整型、浮點數和字串為基礎來建立基本型別。匈牙利約定基本型別事實上是

沒有什麼價值的,因為它使得程式設計師陷入對型別進行人工檢查的困擾之中,而不是讓編譯

程式對型別進行更加快速而又準確的檢查。

這種形式匈牙利約定的另乙個問題是它把資料的意義與其表現聯絡在一起。比如,說

明某一變數是整型的,把它改為長整型的時,不得不改動這一變數的名稱。

匈牙利約定的最後乙個問題是它鼓勵了懶惰、不含什麼資訊的變數名的出現。當程式

員用hwnd 來命名對視窗的操作時,往往忽視了他所指的到底是哪種視窗、對話方塊、選單還

是幫助區的螢幕?顯然用 hwndmenu 要比 hwnd 清楚得多。以變數的意義為代價來獲得對

其型別的精確描述顯然是愚蠢的。不過好在可以用加限定詞的辦法來同時獲得完整的意義

和精確的型別。

匈牙利命名法

匈牙利命名法 匈牙利命名法是一種程式設計時的命名規範。基本原則是 變數名 屬性 型別 物件描述,其中每一物件的名稱都要求有明確含義,可以取物件名字全稱或名字的一部分。命名要基於容易記憶容易理解的原則。保證名字的連貫性是非常重要的。舉例來說,表單的名稱為form,那麼在匈牙利命名法中可以簡寫為frm,...

匈牙利命名法

匈牙利命名法是一種程式設計時的命名規範。基本原則是 變數名 屬性 型別 物件描述,其中每一物件的名稱都要求有明確含義,可以取物件名字全稱或名字的一部分。命名要基於容易記憶容易理解的原則。保證名字的連貫性是非常重要的。舉例來說,表單的名稱為form,那麼在匈牙利命名法中可以簡寫為frm,則當表單變數名...

匈牙利命名法

匈牙利命名法 匈牙利命名法是一種程式設計時的命名規範。基本原則是 變數名 屬性 型別 物件描述,其中每一物件的名稱都要求有明確含義,可以取物件名字全稱或名字的一部分。命名要基於容易記憶容易理解的原則。保證名字的連貫性是非常重要的。舉例來說,表單的名稱為form,那麼在匈牙利命名法中可以簡寫為frm,...