?
快捷搜索:  as  test  1111  test aNd 8=8  test++aNd+8=8  as++aNd+8=8  as aNd 8=8

齊發國際官網網站:匈牙利命名法的探討

?

自己上課的師長教師保舉我們應用,但我發明在應用的歷程中,跟著法度榜樣的繁雜性,命名會變得越來越長,而且寫的時刻輕易少打字母之類的,累個半逝世.這種命名法好處可以直接清楚明了知道類型.照樣自己查資料看看怎么命名對照好.看了作者的原文,綜合來看,這種措施得當特定的編程類型.

如:支持泛型編程和面向工具編程(這兩種編程范型都是基于類型和參數來選擇相宜的操作)的說話來說,它卻是完全分歧適的。

參考資料C/C++高質量編程,The c programming lanuage,作者的網站

英文翻譯如下:

不,我并不保舉“匈牙利命名法”。我覺得“匈牙利命名法”(在變量名中嵌入類型的縮寫)是一種對隱式類型說話來說行之有效的技術,但對支持泛型編程和面向工具編程(這兩種編程范型都是基于類型和參數來選擇相宜的操作)的說話來說,它卻是完全分歧適的。在這種環境下,“把工具的類型用作名字的一部分”不僅繁雜化了抽象,更限定了抽象的程度。在不合程度上,我對各類將說話技巧細節信息(例如:感化域、存儲類型、語法種別)嵌入(變量)名字的規劃都持有保留立場。我批準在某些環境下,將類型提示嵌入變量名會很有贊助,但大年夜多半環境下,分外是跟著軟件的成長,這會導致掩護危急,以致會嚴重侵害優秀的代碼。像躲避瘟疫一樣齊發國際官網網站平常地闊別它吧。

是以,我不愛好根據類型命名變量;我愛好并保舉什么?根據功能命名變量(函數、類型等等)。選擇故意義的名字;亦即,選擇有利于別人讀懂你的法度榜樣的名字。以致你自己每每也會難以理解你的法度榜樣到底是要干嘛用的,假如你在法度榜樣中胡亂應用“易于拼寫”的名字,例如 x1、x2、s3、p7 等等??s寫詞和首字母縮寫詞很輕易肴雜視聽,以是應該“省點兒”用這種詞。首字母縮寫詞更是應該盡可能地避免。比如 mtbf、TLA、myw、RTFM、NBV 等等。此時此刻,它們的含義可能顯而易見。但幾個月過后,任誰也不敢保證必然不會忘掉落此中任何一個(的含義)。

短小的名字,例如 x 和 i,假如按傳統習氣來用的話,是故意義的;亦齊發國際官網網站即,x 只被用作局部變量或者參數,而 i 用作輪回計數器。

不要應用過長的名字;它們難以拼寫,并使代碼行變得很長,乃至不能完全顯示于屏幕上,而且也不易于涉獵。下面這些變量名看起來不錯:

partial_sumelement_countstaple_partition

這兩個就太長了點:

the齊發國際官網網站_number_of_elementsrem齊發國際官網網站aining_free_slots_in_symbol_table

我更愛好應用下劃線來分隔標識符(例如 element_count)里的單詞,而非調換應用大年夜小寫,例如 elementCount 和 ElementCount。名字里的字母絕對不要整個都用大年夜寫(例如 BEGIN_TRANSACTION),由于整個大年夜寫習氣上是用于命名宏的??v然你不用宏,但其他人大概會在他們的頭文件中引用你的頭文件。命名類型時,最好大年夜寫首字母(例如 Square 和 Graph)。C++ 說話和標準庫都不應用大年夜寫字母,是以 int 非 Int,string 非 String。這樣,你就能很輕易地辨認出哪些是標準類型,哪些是你定義的類型。[Page]

避免應用易于拼錯、看錯或肴雜的名字。例如:

name齊發國際官網網站namesnameS

foof00

flf1fIfi

字符 0、o、O、1、l 以及 I 分外輕易引起問題。

平日,命名習氣的選擇僅受限于局部的風格規則。牢記,維持風格的同等性經常比應用你覺得最好的要領處置懲罰各類小細節更為緊張。

免責聲明:以上內容源自網絡,版權歸原作者所有,如有侵犯您的原創版權請告知,我們將盡快刪除相關內容。

您可能還會對下面的文章感興趣:

快三平台开户