我对骆驼案有疑问。假设你有这样的首字母缩写:Unesco =联合国教育、科学及文化组织。
你应该写:联合国、国家、科学和文化组织
但是如果你需要写首字母缩写呢?喜欢的东西:
getUnescoProperties();
这样写对吗?getUnescoProperties()或getUnescoProperties();
我对骆驼案有疑问。假设你有这样的首字母缩写:Unesco =联合国教育、科学及文化组织。
你应该写:联合国、国家、科学和文化组织
但是如果你需要写首字母缩写呢?喜欢的东西:
getUnescoProperties();
这样写对吗?getUnescoProperties()或getUnescoProperties();
当前回答
getUnescoProperties()应该是最好的解决方案…
如果可能的话,遵循纯驼峰式,当你有首字母缩写时,尽可能让它们大写,否则就采用驼峰式。
通常在面向对象编程中,变量应该以小写字母(lowerCamelCase)开始,类应该以大写字母(UpperCamelCase)开始。
如果有疑问,就去纯骆驼牌吧;)
parseXML是好的,parseXML也是camelCase
XMLHTTPRequest应该是XMLHTTPRequest还是XMLHTTPRequest没有办法与后续的大写首字母缩写一起使用,这肯定不是所有测试用例都清楚。
如。 你怎么读这个词httpslrequest, HTTP + SSL,或者HTTPS + SL(这没有任何意思,但…),在这种情况下,遵循驼峰的惯例,去httpslrequest或httpslrequest,也许它不再好看,但它肯定更清楚。
其他回答
除了@valex所说的,我想用这个问题的答案来概括一些事情。
我认为一般的答案是:这取决于你使用的编程语言。
升C
微软已经编写了一些指导方针,在这种情况下,HtmlButton似乎是命名类的正确方式。
Javascript
Javascript有一些首字母缩写的全局变量,并且它们都是大写的(但有趣的是,并不总是一致),下面是一些例子:
encodeURIComponent XMLHttpRequest toJSON toISOString
微软写的关于camelCase的一些指导方针是:
当使用首字母缩略词时,长度超过两个字符的首字母缩略词应使用Pascal大小写或驼峰大小写。例如,使用HtmlButton或HtmlButton。但是,只由两个字符组成的首字母缩写词应该大写,例如System。而不是System.Io。 不要在标识符或参数名中使用缩写。如果必须使用缩写,则使用驼峰大小写表示包含两个以上字符的缩写,即使这与单词的标准缩写相矛盾。
总结:
当你使用的缩写或首字母缩写只有两个字符长时,全部用大写; 当首字母缩略词超过两个字符时,第一个字符用大写。
因此,在您的特定情况下,getUnescoProperties()是正确的。
免责声明:英语不是我的母语。但是我已经考虑这个问题很长一段时间了,特别是当使用节点(驼峰风格)来处理数据库时,因为表字段的名称应该是蛇化的,这是我的想法:
对于程序员来说,有两种“首字母缩写”:
自然语言,联合国教科文组织 在计算机编程语言中,例如tmc和textMessageContainer,通常以局部变量的形式出现。
在编程世界中,自然语言中的所有首字母缩略词都应该被视为单词,原因是:
when we programming, we should name a variable either in acronym style or non-acronym-style. So, if we name a function getUNESCOProperties, it means UNESCO is an acronym ( otherwise it shouldn't be all uppercase letters ), but evidently, get and properties are not acronyms. so, we should name this function either gunescop or getUnitedNationsEducationalScientificAndCulturalOrganizationProperties, both are unacceptable. natural language is evolving continuously, and today's acronyms will become words tommorow, but programs should be independent of this trend and stand forever.
顺便说一下,在投票最多的答案中,IO是计算机语言中的首字母缩写(代表InputOutput),但我不喜欢这个名字,因为我认为(在计算机语言中)首字母缩写只应该用于命名局部变量,而不是顶级类/函数,所以应该使用InputOutput而不是IO
从公认的答案中,对微软的建议有合理的批评。
根据字符数对首字母缩写/首字母缩写的处理不一致: playerID vs playerID vs playerIdentifier。 如果两个字母的首字母缩写出现在标识符的开头,是否仍然应该大写的问题: USTaxes vs USTaxes 区分多个首字母缩写的困难: 即USID vs USID(或维基百科的例子中的parseDBMXML)。
所以我会把这个答案作为公认答案的替代。所有首字母缩略词应一致对待;首字母缩写词应该像对待其他单词一样对待。引用维基百科:
...有些程序员喜欢把缩写当作小写字母来对待。
所以回复:OP的问题,我同意公认的答案;这是正确的:getUnescoProperties()
但我认为我在这些例子中得出了不同的结论:
美国税收→美国税收 玩家ID→playerId
所以,如果你认为两个字母的首字母缩略词应该像其他首字母缩略词一样对待,请投票给这个答案。
Camel Case是一种约定,而不是规范。所以我猜民意决定一切。
(编辑:删除这个问题应该由投票决定的建议;正如@Brian David所说;Stack Overflow不是一个“人气竞赛”,这个问题是“基于意见的”)
尽管许多人喜欢把首字母缩写词当作其他词来对待,但更常见的做法可能是把首字母缩写词全部大写(即使这会导致“可恶的”)。
请参阅此XML模式中的“EDXML” 请参阅此XBRL模式中的“SFAS158”
其他资源:
Note some people distinguish between abbreviation and acronyms Note Microsoft guidelines distinguish between two-character acronyms, and "acronyms more than two characters long" Note some people recommend to avoid abbreviations / acronyms altogether Note some people recommend to avoid camelCase / PascalCase altogether Note some people distinguish between "consistency" as "rules that seem internally inconsistent" (i.e. treating two-character acronyms different than three-character acronyms); some people define "consistency" as "applying the same rule consistently" (even if the rule is internally inconsistent) Framework Design Guidelines Microsoft Guidelines
getUnescoProperties()应该是最好的解决方案…
如果可能的话,遵循纯驼峰式,当你有首字母缩写时,尽可能让它们大写,否则就采用驼峰式。
通常在面向对象编程中,变量应该以小写字母(lowerCamelCase)开始,类应该以大写字母(UpperCamelCase)开始。
如果有疑问,就去纯骆驼牌吧;)
parseXML是好的,parseXML也是camelCase
XMLHTTPRequest应该是XMLHTTPRequest还是XMLHTTPRequest没有办法与后续的大写首字母缩写一起使用,这肯定不是所有测试用例都清楚。
如。 你怎么读这个词httpslrequest, HTTP + SSL,或者HTTPS + SL(这没有任何意思,但…),在这种情况下,遵循驼峰的惯例,去httpslrequest或httpslrequest,也许它不再好看,但它肯定更清楚。