我对骆驼案有疑问。假设你有这样的首字母缩写:Unesco =联合国教育、科学及文化组织。
你应该写:联合国、国家、科学和文化组织
但是如果你需要写首字母缩写呢?喜欢的东西:
getUnescoProperties();
这样写对吗?getUnescoProperties()或getUnescoProperties();
我对骆驼案有疑问。假设你有这样的首字母缩写:Unesco =联合国教育、科学及文化组织。
你应该写:联合国、国家、科学和文化组织
但是如果你需要写首字母缩写呢?喜欢的东西:
getUnescoProperties();
这样写对吗?getUnescoProperties()或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
其他回答
目前我正在使用以下规则:
首字母缩写的大写字母:XMLHTTPRequest, XMLHTTPRequest, requestIPAddress。 驼色表示缩写:ID[标识符],Exe[可切割的],App[应用程序]。
ID是个例外,抱歉,但这是真的。
当我看到一个大写字母时,我认为这是一个首字母缩写,即每个字母对应一个单独的单词。缩写并不是每个字母都有单独的单词,所以我使用驼峰格。
XMLHTTPRequest是模棱两可的,但这是罕见的情况,它并没有那么模棱两可,所以没关系,规则和逻辑比美观更重要。
除了@valex所说的,我想用这个问题的答案来概括一些事情。
我认为一般的答案是:这取决于你使用的编程语言。
升C
微软已经编写了一些指导方针,在这种情况下,HtmlButton似乎是命名类的正确方式。
Javascript
Javascript有一些首字母缩写的全局变量,并且它们都是大写的(但有趣的是,并不总是一致),下面是一些例子:
encodeURIComponent XMLHttpRequest toJSON toISOString
免责声明:英语不是我的母语。但是我已经考虑这个问题很长一段时间了,特别是当使用节点(驼峰风格)来处理数据库时,因为表字段的名称应该是蛇化的,这是我的想法:
对于程序员来说,有两种“首字母缩写”:
自然语言,联合国教科文组织 在计算机编程语言中,例如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
JavaScript Airbnb风格指南谈到了这一点。基本上:
// bad
const HttpRequests = [ req ];
// good
const httpRequests = [ req ];
// also good
const HTTPRequests = [ req ];
因为我通常在课堂上阅读大写字母的前导,所以我倾向于避免这样做。说到底,这都是个人偏好。
在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 = [
// ...
];