我最近加入了一个使用前导逗号作为标准的项目。
虽然我理解这种风格的原因(行的安全注释),但它非常不方便(委婉地说)。
我有一种强烈的感觉,这不仅仅是关于品味,我需要比“我不喜欢它”更好的理由来说服团队不要使用这种风格。
ps示例代码:
function cls(){
var prop = {
a:'a'
,b:'b'
,c:'c'
,d:'d'
};
var arr = [
11
,12
,13
,14
];
var x=1
,y=2
,z=3;
return {
f:function(){
alert(prop.a);
}
, g:function(){
alert(arr[0]);
}
, h: function(){
alert(x);
}
};
}
var test = cls();
test.f();test.g();test.h();
到目前为止的客观原因(部分来自答案,部分来自我的):
这种风格非常少见,尤其是在 JavaScript 学习材料和框架中。项目的新手很可能会感到不舒服,以及需要处理不同格式的项目的开发人员
IDE 中的大多数自动格式化工具都不尊重这种风格(默认情况下或通过配置)
各种工具/实用程序中的潜在错误,因为这些工具最有可能在定期放置的逗号上实现和测试。示例:Sencha CMD 在编译带有前导逗号的 JavaScript 代码时存在错误
更新:我们根据通用样式对所有项目进行了自动格式化(具体来说,根据谷歌样式指南:http: //google-styleguide.googlecode.com/svn/trunk/javascriptguide.xml)。代码看起来好多了,所有工具都按预期工作(IDE、优化器、构建器(Sencha CMD)、语法验证器……)。这是大公司内部的一个大项目,所以这不是一个微不足道的决定。此外,它还损失了清晰的 CVS 历史记录——但最终还是值得的。