我对骆驼案有疑问。假设你有这样的首字母缩写:Unesco =联合国教育、科学及文化组织。
你应该写:联合国、国家、科学和文化组织
但是如果你需要写首字母缩写呢?喜欢的东西:
getUnescoProperties();
这样写对吗?getUnescoProperties()或getUnescoProperties();
我对骆驼案有疑问。假设你有这样的首字母缩写: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 ];
因为我通常在课堂上阅读大写字母的前导,所以我倾向于避免这样做。说到底,这都是个人偏好。