我对骆驼案有疑问。假设你有这样的首字母缩写:Unesco =联合国教育、科学及文化组织。

你应该写:联合国、国家、科学和文化组织

但是如果你需要写首字母缩写呢?喜欢的东西:

getUnescoProperties();

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


当前回答

在github上有airbnb JavaScript风格指南,有很多星星(目前约57.5k)和关于首字母缩写的指南,其中说:

首字母缩写和首字母缩写都应该大写,或者全部大写 小写的。 为什么?名字是为了可读性,而不是为了取悦计算机算法。

// bad
import SmsContainer from './containers/SmsContainer';

// bad
const HttpRequests = [
  // ...
];

// good
import SMSContainer from './containers/SMSContainer';

// good
const HTTPRequests = [
  // ...
];

// also good
const httpRequests = [
  // ...
];

// best
import TextMessageContainer from './containers/TextMessageContainer';

// best
const requests = [
  // ...
];

其他回答

getUnescoProperties()应该是最好的解决方案…

如果可能的话,遵循纯驼峰式,当你有首字母缩写时,尽可能让它们大写,否则就采用驼峰式。

通常在面向对象编程中,变量应该以小写字母(lowerCamelCase)开始,类应该以大写字母(UpperCamelCase)开始。

如果有疑问,就去纯骆驼牌吧;)

parseXML是好的,parseXML也是camelCase

XMLHTTPRequest应该是XMLHTTPRequest还是XMLHTTPRequest没有办法与后续的大写首字母缩写一起使用,这肯定不是所有测试用例都清楚。

如。 你怎么读这个词httpslrequest, HTTP + SSL,或者HTTPS + SL(这没有任何意思,但…),在这种情况下,遵循驼峰的惯例,去httpslrequest或httpslrequest,也许它不再好看,但它肯定更清楚。

微软写的关于camelCase的一些指导方针是:

当使用首字母缩略词时,长度超过两个字符的首字母缩略词应使用Pascal大小写或驼峰大小写。例如,使用HtmlButton或HtmlButton。但是,只由两个字符组成的首字母缩写词应该大写,例如System。而不是System.Io。 不要在标识符或参数名中使用缩写。如果必须使用缩写,则使用驼峰大小写表示包含两个以上字符的缩写,即使这与单词的标准缩写相矛盾。

总结:

当你使用的缩写或首字母缩写只有两个字符长时,全部用大写; 当首字母缩略词超过两个字符时,第一个字符用大写。

因此,在您的特定情况下,getUnescoProperties()是正确的。

UNESCO是一个特殊的例子,因为它通常(在英语中)被读成一个单词,而不是一个首字母缩略词——像UEFA, RADA, BAFTA,不像BBC, HTML, SSL

目前我正在使用以下规则:

首字母缩写的大写字母:XMLHTTPRequest, XMLHTTPRequest, requestIPAddress。 驼色表示缩写:ID[标识符],Exe[可切割的],App[应用程序]。

ID是个例外,抱歉,但这是真的。

当我看到一个大写字母时,我认为这是一个首字母缩写,即每个字母对应一个单独的单词。缩写并不是每个字母都有单独的单词,所以我使用驼峰格。

XMLHTTPRequest是模棱两可的,但这是罕见的情况,它并没有那么模棱两可,所以没关系,规则和逻辑比美观更重要。

JavaScript Airbnb风格指南谈到了这一点。基本上:

// bad
const HttpRequests = [ req ];

// good
const httpRequests = [ req ];

// also good
const HTTPRequests = [ req ];

因为我通常在课堂上阅读大写字母的前导,所以我倾向于避免这样做。说到底,这都是个人偏好。