language-agnostic - 采用驼峰命名法的首字母缩略词

标签 language-agnostic coding-style camelcasing acronym

我对 CamelCase 有疑问。假设您有以下缩写:Unesco = United Nations Educational, Scientific and Cultural Organization.

您应该写:unitedNationsEducationalScientificAndCulturalOrganization

但是如果您需要写首字母缩略词怎么办?像这样的东西:

getUnescoProperties();

这样写对吗? getUnescoProperties()getUNESCOProperties();

最佳答案

从已接受的答案中可以看到对 Microsoft advice 的合理批评。

  • 根据字符数量,首字母缩略词/缩写词的处理方式不一致:
  • playerID vs playerId vs playerIdentifier
  • 如果两个字母的首字母缩略词出现在标识符开头,是否仍应大写的问题:
  • USTaxesusTaxes
  • 难以区分多个首字母缩略词:
  • USIDusId(或维基百科示例中的 parseDBMXML)。

所以我将发布这个答案作为已接受答案的替代方案。所有首字母缩略词应一致对待;首字母缩略词应像其他单词一样对待。 Quoting Wikipedia:

...some programmers prefer to treat abbreviations as if they were lower case words...

所以回复:OP的问题,我同意接受的答案;这是正确的:getUnescoProperties()

但我想我会在这些例子中得出不同的结论:

  • 美国税usTaxes
  • 玩家 IDplayerId

如果您认为两个字母的缩写词应该像其他缩写词一样对待,请投票支持这个答案

驼峰命名法是一种约定,而不是规范。所以我猜民意是规则。

(编辑:删除投票应该决定这个问题的建议;正如@Brian David所说;Stack Overflow不是一场“人气竞赛”,这个问题被关闭为“基于意见”)

尽管许多人更喜欢将缩略词视为其他单词,但更常见的做法可能是将缩略词全部大写(即使这会导致“令人厌恶”)

其他资源:

  • 请注意,有些人会区分缩写词和首字母缩略词
  • 注意 Microsoft 指南区分了两个字符的缩写词和“长度超过两个字符的缩写词”
  • 请注意,有些人建议完全避免使用缩写词/首字母缩略词
  • 请注意,有些人建议完全避免使用驼峰命名法/帕斯卡命名法
  • 请注意,有些人将“一致性”区分为“看起来内部不一致的规则”(即对待两个字符的首字母缩写词与三个字符的首字母缩略词不同);有些人将“一致性”定义为“一致地应用相同的规则”(即使规则内部不一致)
  • Framework Design Guidelines
  • Microsoft Guidelines

关于language-agnostic - 采用驼峰命名法的首字母缩略词,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15526107/

相关文章:

parsing - 从博客和其他网页中智能提取标签

javascript - 如何在 javascript 中检查驼峰命名法

javascript - 如果匈牙利表示法最受贬低,为什么 "UpperCamel for constructors vs lowerCamel for everything else"如此受欢迎?

language-agnostic - 如何确定使用什么日志级别?

function - lambda 定义有什么乐趣?

c++ - 在类定义内部和外部定义成员函数之间有区别吗?

c# - 关于此代码的最佳实践和编码约定的一些希望简单的问题

c++ - 通过输出参数返回结果,c++编码标准

c# - ASP.Net core 中全大写属性名称默认驼峰命名法序列化为 JSON 的问题

language-agnostic - HTTP:生成 ETag header