簡體   English   中英

當我們使用“iOS”作為類名中的單詞時,我們應該將“i”大寫嗎?

[英]Should we capitalize “i” when we use “iOS” as a word in a class name?

有些品牌實際上並不喜歡利用他們的第一個字母,而改變可能使它看起來完全不同,特別是對於“iOS”。 更像是“mCore”,“macOS”等等。 當談到班級名稱時,我應該將第一個字母大寫還是保留原始字母?

例如“ iOSCompatProxy ”vs“ IOSCompatProxy

此類類名沒有普遍遵循的約定。 即使像“XML”這樣的常規大寫縮寫也會導致不一致; 查看官方JDK類列表 ,我看到許多類名為XMLSomething類為XmlSomething

谷歌在谷歌Java風格指南中對待這個主題,他們提供了將文本轉換為類名的方案:

有時將英語短語轉換為駝峰大小寫的方法不止一種,例如當存在首字母縮略詞或“IPv6”或“iOS”之類的異常結構時。 為了提高可預測性,Google Style指定了以下(幾乎)確定性方案。

從名稱的散文形式開始:

  1. 將短語轉換為純ASCII並刪除任何撇號。 例如,“Müller算法”可能成為“Muellers算法”。

  2. 將此結果划分為單詞,拆分空格和任何剩余的標點符號(通常為連字符)。

    • 推薦 :如果任何單詞已經具有常規使用的傳統駝峰式外觀,請將其拆分為其組成部分(例如,“AdWords”變為“廣告詞”)。 請注意,諸如“iOS”之類的單詞本身並不是真正的駝峰; 它違反任何慣例,因此該建議不適用。
  3. 現在小寫所有內容 (包括首字母縮略詞),然后只大寫第一個字符:

    • ......每一個字,產生上駱駝的情況 ,或
    • ......除了第一個詞之外的每個詞,以產生較低的駱駝案例
  4. 最后,將所有單詞連接成一個標識符。

他們的方案產生IosCompatProxy作為類名, iosCompatProxy作為變量名。 他們故意無視原始資本化,轉而采用更加基於規則的駝峰案例形式。

也許它不是最漂亮的形式,但是如果你正在尋找一條規則可以遵循,而且你的工作地點沒有規則,Google的風格指南就像你會得到的一樣好,因為它特別提到了“iOS”。 我傾向於認為他們的慣例很高,因為他們使用它們保存了大量的Java(截至2018年,有3億行[1] )。

一般來說,在Java類名中,始終是首字母和開始新單詞的所有后續字母都是大寫的,例如ThisIsAClass 這是為了將它們與變量和方法名稱區分開來。 因此,我相信IOSCompatProxy將是基於我對Oracle樣式指南的解釋的正確類名,這是一般的Java樣式指南,在這里看到(我不相信自上次更新以來所做的任何重大樣式更改):

類名應該是名詞,大小寫混合,每個內部單詞的首字母大寫。 盡量保持您的類名簡單和描述性。 使用整個單詞 - 避免縮略語和縮寫(除非縮寫比長格式更廣泛使用,例如URL或HTML)。

此外,因為iOS是比“互聯網和操作系統”廣泛使用的首字母縮略詞,我會說保持整個首字母縮略詞大寫。 如果您有不同的解釋,例如與@Boann所寫的匹配,請使用它。

但是,我不鼓勵你遵循谷歌的風格指南,除非你為谷歌工作(一般的語法跟隨可能是假設谷歌將其風格指南建立在甲骨文之上),只是因為他們的造型可能與你未來的公司不同。 相反,我建議遵循以下Oracle風格指南: https//www.oracle.com/technetwork/java/codeconvtoc-136057.html

就個人而言,我會把它作為iOSCompatProxy 我認為,對於這個世界上的每一條規則,都有例外。 :)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM