Javascript 预期的jsLint{

Javascript 预期的jsLint{,javascript,coding-style,jslint,Javascript,Coding Style,Jslint,鉴于以下情况 for(var i=0; i< data.cats.length; i++) list += buildCategories(data.cats[i]); 使用较短的符号而不是用大括号括起来是否有实际的缺点?这是一种防御性编程-使用大括号清楚地定义了哪些语句与的相关联 如果不使用花括号,以后可能会有人错误地在list+=buildCategories…下面添加另一条语句,希望它也能与for循环一起执行。JSLint检查以下良好的代码样式。插入花括号总是一种良好的样式,因为在

鉴于以下情况

for(var i=0; i< data.cats.length; i++) list += buildCategories(data.cats[i]);

使用较短的符号而不是用大括号括起来是否有实际的缺点?

这是一种防御性编程-使用大括号清楚地定义了哪些语句与的
相关联


如果不使用花括号,以后可能会有人错误地在
list+=buildCategories…
下面添加另一条语句,希望它也能与
for
循环一起执行。

JSLint检查以下良好的代码样式。插入花括号总是一种良好的样式,因为在de属于。而且它更短并不是一个真正的论点,因为大多数迷你们都会处理这个问题

“使用较短的符号有实际的缺点吗…”

如果您不小心编写代码,那么它可能是错误的根源,但是在IMO中省略它们可以提供更干净的代码,并且如果您坚持一致且经过深思熟虑的编程标准,那么省略它们将不会是一个问题

例如,当我有嵌套的
if/else
语句能够排除大括号时,我更喜欢平衡
else
而不是使用大括号

if (condition)
    if (condition2)
        inner_if()
    else ;
else
    outer_if()
那个代码仍然比这个更干净

if (condition) {
    if (condition2) {
        inner_if();
    }
} else {
    outer_if();
}
如果有人认为他们可以在
If
else
中添加另一条语句,那么这就是需要解决的理解问题

所以,实际上这只是一个使用什么标准的问题。利用大括号当然是一个有效的选择,但我们不应该太武断



如果你想要一个更可配置的工具,你可以考虑。

我不同意所有的CROFROFD的风格规则,但是我有100%这个。这对我来说很烦人,因为我使用IF。<代码>(var OK在OBJ)如果(Obj.HasObjices属性(k)){…} /代码>(或与其他过滤器)是非常非常有用的,但该模式提出了这一警告。我认为这与
else一样合法,如果
(否则其他人需要大括号)我正在调试其他人的几千行代码,因此我无法决定是否使用“适当的样式”。当然,抑制这些错误会很好,特别是因为一旦遇到JSLint,它将不会继续…@FábioSantos JSLint还抱怨
else if
,并要求您将其更改为
else{如果
@bluesmoon你没有弄错吗?我刚刚检查过,它没有抱怨。@AdamRackis:我所有的答案现在都是CW。我想我更喜欢这样。厌倦了代表的激烈竞争,是吗?:)@AdamRackis:是的,现在我在这里有一套很好的特权,我真的不在乎代表。我宁愿CW,让别人付费如果他们愿意的话,我更愿意增加价值。那真的很酷。唯一的其他特权是20K,这是唯一的扩展删除功能。所以你已经很累了。@AdamRackis:是的,这么大的能量可能只会落到我的头上。;)如果你确定你不想要那个检查,那么只需更改提示配置即可n通过提供
“curly”:false,
if (condition) {
    if (condition2) {
        inner_if();
    }
} else {
    outer_if();
}