c++ 請拋棄匈牙利命名法 - 變量命名代碼風格的建議。

我只針對c++碼農們講,其餘語言不瞭解不過應該大同小異。曾幾什麼時候翻開21天學通c++系列等腦殘入門書,都以匈牙利命名法示人(DWORD dwXXX, int nXXX, string strXXX)。
如今我能夠負責任的告訴你,把類型名寫在前面''''''''''用都沒有,對你沒看錯,就是這麼堅定。緣由以下:c++

1.現代的編譯器早已經能夠明顯看出任意變量的類型,你把類型寫在前面除了增長代碼長度外沒有任何好處。
2.真正的匈牙利命名法,是要spa

 

標註變量的種類(kind)而不是類型(type)編譯器

 

這有很大區別。舉例:int door_width 代表這是門的寬度,而int nWidth狗屁都不是!寫明種類有何好處呢?其中一大好處就是能夠明顯的看出錯誤而且使得代碼更易讀。舉例:門寬:int door_width, 車長度:int car_length.當你寫以下代碼- int door_area = door_width * car_length; 這句代碼本意是計算門的面積,可是當你看到代碼,用door_width × car_length明顯看出car和door不是一個種類,很容易看出錯誤。而若是你用nWidth × nLength那麼恭喜你,除了能看出來類型是個int型以外,你狗屁錯誤也看不到。這點在代碼不少很長的時候尤爲突出。string

因此,若是使用匈牙利命名法,請理解他的本意,是kind不是type!固然若是有人變態到把類型種類都寫上我只能說你應該換個60吋顯示器才能看全代碼了。編譯

相關文章
相關標籤/搜索