程式設計師們為了自己的代碼能更容易的在同行之間交流,所以多採取統一的可讀性比較好的命名方式。例如:有些程式設計師喜歡全部小寫,有些程式設計師喜歡用下劃線,所以如果要寫一個my name的變數,他們常用的寫法會有myname、my_name、MyName或者myName。這樣的命名規則不適合所有程式設計師閱讀,而利用駝峰命名法來表示,可以增加程式可讀性。
基本介紹
- 中文名:駝峰式大小寫
- 外文名:Camel-Case,Camel Case,camel case
- 屬性:電腦程式編寫時的一套命名規則
- 變種:StudlyCaps
定義,格式,傳統的自然語言使用,在單詞組合中,在音譯中,縮寫,現代技術用途的歷史,化學式,早期使用商標,電腦編程,
定義
駝峰式大小寫(Camel-Case,Camel Case,camel case),電腦程式編寫時的一套命名規則(慣例)。
當變數名和函式名稱是由二個或多個單字連結在一起,而構成的唯一識別字時,利用“駝峰式大小寫”來表示,可以增加變數和函式的可讀性。
“駝峰式大小寫(Camel-Case)一詞來自 Perl 語言中普遍使用的大小寫混合格式,而 Larry Wall 等人所著的暢銷書《Programming Perl》(O'Reilly 出版)的封面圖片正是一匹駱駝。”
“駝峰式大小寫”命名規則可視為一種慣例,並無絕對與強制,為的是增加識別和可讀性。一旦選用或設定好命名規則,在程式編寫時應保持一致格式。
格式
單詞之間不以空格、連線號或者底線連結(例如不應寫成:camel case、camel-case或camel_case形式)。共有兩種格式:
1、小駝峰式命名法(lower camel case):
第一個單詞以小寫字母開始,第二個單詞的首字母大寫。例如:firstName、lastName。
2、大駝峰式命名法(upper camel case):
每一個單詞的首字母都採用大寫字母,例如:FirstName、LastName、CamelCase,也被稱為 Pascal 命名法。
變種:StudlyCaps,是“駝峰式大小寫”的變種。
補充說明,在JAVA中:類名的標識符一般用大駝峰式書寫格式,方法和變數的標識符則多用小駝峰式書寫格式。
傳統的自然語言使用
在單詞組合中
在日常文本的常規拼寫中使用內側大寫作為慣例是很少見的,但在某些語言中使用它作為解決在組合兩個單詞或片段時出現的特定問題。
在義大利語中,代詞可以作為動詞的後綴,並且因為尊重形式的第二人稱代詞被大寫,這可以產生一個句子,如非霍亂名稱(“我沒有時間回答你” - 其中Le意思是“給你”)。
在德語中,內側大寫字母I,稱為Binnen-I,有時用於像StudentInnen(“學生”)這樣的單詞,表示Studenten(“男學生”)和Studentinnen(“女學生”)同時是有意的。但是,中間詞的大小寫不符合德語拼寫法;上一個例子可以使用括弧正確寫成Student(inn)en,類似於英語中的“congress(wo)man”。
在愛爾蘭語中,當將一個屈折前綴附加到專有名詞時使用camelcase,例如來自Gaillimh(“Galway”)的i nGaillimh(“戈爾韋”中);來自Albanach(“蘇格蘭人”)的tAlbanach(“蘇格蘭人”);從Éire(“愛爾蘭”)去hÉirinn(“來到愛爾蘭”)。在最近的Scots Gaelic拼寫法中,插入了一個連字元:t-Albannach。
該慣例也被幾種書面的班圖語言(例如,kiSwahili,“斯瓦希里語”; isiZulu,“祖魯語”)和墨西哥的幾種土著語言(例如Nahuatl,Totonacan,Mixe-Zoque和一些Oto-Manguean語言)使用。
在荷蘭語中,當使用有向圖ij時,字母I和字母J都是大寫的,例如在國名IJsland中。
在英語中,內側大寫字母通常只有蘇格蘭語或愛爾蘭語“Mac-”或“Mc-”名稱,例如MacDonald,McDonald和Macdonald是同名的常見拼寫變體,而在Anglo-Norman“Fitz- “名字,例如菲茨傑拉德和菲茨傑拉德都被發現。
在1906年首次出版的英國風格指南The King's English中,HW和FG Fowler認為,內側大寫字母可以用於三連詞中,連字元會引起歧義 - 他們給出的例子是KingMark(就像King Mark-like一樣)和Anglo-SouthAmerican(與Anglo-South American對抗)。
在音譯中
在用其他腳本編寫的語言的學術音譯中,在類似的情況下使用內側大寫字母。例如,在音譯希伯來文中,ha'Ivri的意思是“希伯來人”或“猶太人”,b'Yerushalayim的意思是“在耶路撒冷”。在像rLobsang這樣的西藏專有名稱中,“r”代表原始腳本中的前綴字形,用作音調標記而不是普通字母。另一個例子是tsIurku,一個拉丁語的Chechen術語,用於描述Chechenia和Ingushetia特有的中世紀防禦塔的封頂石;這裡的大寫字母“I”表示與轉錄為“i”的音素不同的音素。
縮寫
傳統上,中間大寫字母用於縮寫,以反映單詞在完整寫出時所具有的大寫字母,例如學術博士或博士學位。在德語中,法規的名稱使用嵌入式大寫字母縮寫,例如用於刑法的StGB(Strafgesetzbuch),用於專利法的PatG(Patentgesetz),用於聯邦憲法法院的BVerfG(Bundesverfassungsgericht),或用於有限責任公司的非常普通的有限責任公司(GesellschaftmitbeschränkterHaftung)。在這種情況下,甚至可以有三個或更多“CamelCase”大寫字母,例如在TzBfG for Teilzeit- und Befristungsgesetz(關於兼職和有限期限職業的法案)。在法語中,諸如OuLiPo(1960)之類的駱駝案縮略詞一度受到青睞,作為初始主義的替代品。
現代技術用途的歷史
化學式
內科資本首次系統和廣泛用於技術目的是瑞典化學家Jacob Berzelius在1813年發明的化學公式的符號。為了取代化學家使用的眾多命名和符號慣例,他建議指出每種化學品元素由一個或兩個字母的符號組成,第一個是大寫的。大寫字母允許像“NaCl”這樣的公式被寫成沒有空格,仍然可以毫不含糊地解析。
Berzelius的系統繼續被使用,增加了三個字母的符號,如“Uue”,用於未經證實或未知的元素和一些常見取代基的縮寫(特別是在有機化學領域,例如“Et”代表“乙基 - ”) 。這進一步擴展到描述蛋白質和其他的胺基酸序列。
早期使用商標
自20世紀初以來,內側資本偶爾被用於公司名稱和產品商標,例如
Camel Cigarettes首次使用香菸中的大寫字母。
DryIce公司(1925年)將固體形式的二氧化碳(CO 2)作為“乾冰”銷售,從而產生了它的通用名稱。
CinemaScope和VistaVision,競爭對手的寬屏電影格式(1953年)。
ShopKo(1962)。
MisteRogers,加拿大版羅傑斯先生的鄰居(1962年)。
AstroTurf(1967)。
ConAgra,前身為Consolidated Mills(1971)。
萬事達(1968)。
電腦編程
在20世紀70年代和80年代,內側資本被用作多種程式語言中多字標識符的標準或替代命名約定。計算機編程中公約的確切起源尚未解決。 1954年的會議論文[26]偶爾非正式地將IBM的Speedcoding系統稱為“SpeedCo”。 Christopher Strachey關於GPM的論文(1965),[27]顯示了一個包含一些醫療資本標識符的程式,包括“NextCh”和“WriteSymbol”。
具有嵌入空格的多字描述性標識符(例如檔案結尾或字元表)不能在大多數程式語言中使用,因為字之間的空格將被解析為標記之間的分隔設定。在endoffile或chartable中將單詞組合在一起的替代方法很難理解並且可能具有誤導性;例如,chartable是一個英文單詞(能夠繪製圖表)。
一些早期的程式語言,特別是Lisp(1958)和COBOL(1959),通過允許在複合標識符的單詞之間使用連字元(“ - ”)解決了這個問題,如“END-OF-FILE”:Lisp因為它使用前綴表示法(Lisp解析器不會將符號中間的連字元視為減法運算符)和COBOL,因為它的運算符是單獨的英語單詞。此約定仍在這些語言中使用,並且在命令行中輸入的程式名稱中也很常見,如在Unix中。
然而,這種解決方案不適用於數學導向的語言,例如FORTRAN(1955)和ALGOL(1958),它使用連字元作為中綴減法運算符。這些早期語言允許標識符包含不受限制的嵌入空間,通過上下文確定標識符的結尾。由於它增加了標記化的複雜性,這種方法在後來的語言中被放棄了。 (FORTRAN最初將標識符限制為不超過六個字元,有效地防止了除了非常短的單詞之外的多字標識符,例如“GO TO”=“GOTO”。)
加劇了這個問題,當時常見的穿孔卡片字元集只有大寫,缺少其他特殊字元。直到20世紀60年代,ASCII字元集的廣泛採用使小寫字母和下劃線字元普遍可用。有些語言,特別是C,迅速採用下劃線作為單詞分隔設定,而end_of_file等標識符在C程式和庫(以及受C語言影響的後續語言,如Perl和Python)中仍然普遍存在。然而,一些語言和程式設計師選擇避免強調 - 除了其他原因,以防止混淆他們與空白 - 並採用駝峰案例。
查爾斯·西蒙尼(Charles Simonyi)於20世紀70年代在施樂帕洛阿爾托研究中心工作,後來監督微軟辦公室應用程式套件的創建,發明並教授匈牙利表示法的使用,其中一個版本在開頭使用小寫字母(大寫)變數名稱表示其類型。一個帳戶[引證需要]聲稱駱駝案例風格在1978年左右開始在Xerox PARC流行,其中Mesa程式語言是為Xerox Alto計算機開發的。這台機器沒有下劃線鍵,標識符中不允許使用連字元和空格字元,因此將camel case作為可讀多字名稱的唯一可行方案。 PARC梅薩語言手冊(1979年)包括一個編碼標準,其中包含針對上下駱駝箱的特定規則,Mesa庫和Alto作業系統嚴格遵循這些規則。
Smalltalk語言最初是在Alto上開發的,並且在20世紀80年代早期變得非常流行,可能[根據誰?]有助於在PARC之外傳播風格。對於PostScript頁面描述語言(由Adobe Systems創始人和前PARC科學家John Warnock發明)以及語言本身,許多名稱也使用Camel案例。此外,帕斯卡的發明者尼克勞斯·沃斯(Niklaus Wirth)在PARC休假期間開始欣賞駱駝案,並將其用於下一代程式語言Modula。