当我们使用“iOS”作为类名中的单词时,我们应该将“i”大写吗?

iry*_*iry 10 java camelcasing naming-conventions

有些品牌名称实际上不喜欢将其第一个字母大写,更改可能会使其看起来完全不同,尤其是对于“iOS”。还有更多类似“mCore”、“macOS”等。当涉及到类名时,我应该将第一个字母大写还是保留原来的?

例如“ iOSCompatProxy”与“ IOSCompatProxy

Boa*_*ann 7

这种类型的类名没有普遍遵循的约定。即使像“XML”这样的常规大写缩写也会导致不一致;查看官方 JDK 类列表XMLSomething,我看到名为的类多达 3 个XmlSomething

\n\n

Google 在Google Java 风格指南中处理了这个主题,其中给出了将文本转换为类名的方案:

\n\n
\n

有时,有不止一种合理的方法可以将英语短语转换为驼峰式大小写,例如当出现首字母缩略词或不常见的结构(例如“IPv6”或“iOS”)时。为了提高可预测性,Google Style 指定了以下(几乎)确定性方案。

\n\n

从名字的散文形式开始:

\n\n
    \n
  1. 将短语转换为纯 ASCII 并删除所有撇号。例如,“M\xc3\xbcller\'s 算法”可能会变成“Muellers 算法”。

  2. \n
  3. 将此结果分成单词,按空格和任何剩余的标点符号(通常是连字符)进行分割。

    \n\n
      \n
    • 建议:如果任何单词在常见用法中已经具有传统的驼峰式外观,请将其拆分为其组成部分(例如,“AdWords”变为“广告词”)。请注意,诸如“iOS”之类的单词本身并不是真正的驼峰式大小写;它违反了任何惯例,因此该建议不适用。
    • \n
  4. \n
  5. 现在将所有内容(包括首字母缩略词)小写,然后仅将以下字符的第一个字符大写:

    \n\n
      \n
    • ...每个单词,产生大驼峰式大小写,或者
    • \n
    • ...除了第一个之外的每个单词,以产生小驼峰式大小写
    • \n
  6. \n
  7. 最后,将所有单词连接成一个标识符。

  8. \n
\n
\n\n

他们的方案产生了IosCompatProxy类名和iosCompatProxy变量名。他们故意忽略原来的大写,转而采用更加基于规则的驼峰式形式。

\n\n

也许这不是最漂亮的形式,但如果您正在寻找可遵循的规则,并且您工作的地方没有相应的规则,那么 Google 的样式指南也不错这是您将得到的规则,因为它特别提到了“iOS”。我倾向于高度重视他们的约定,因为他们维护着大量使用它们的 Java(截至 2018 年有 3 亿行[1])。

\n