这些声明在技术上是相同的,实际上是一个偏好问题。差异来自人为因素。 jslint 的规则更喜欢一致性 和可读性,特别是对于项目的长期而言。
考虑以下代码:
var variable1 = "value 1", variable2 = "value 2";
这看起来还不错,但即使有两个变量,它也比将声明分成两行更难阅读。
现在假设项目增长了几个月,同一行也相应增长:
var variable1 = "value 1", variable2 = "value 2", variable4 = "value 4",
variable5 = "this";
var variable6 = "starts";
var variable7 = "to get", variable8 = "hard", variable9 = "to read";
无需任何特定的强制执行,开发人员可以根据需要选择在何处声明变量,这意味着他们可以将它们添加到现有的
声明行,或添加新声明。这种选择通常是完全主观的。如上所示,与以下相比,代码变得越来越难阅读:
var variable1 = "value 1";
var variable2 = "value 2";
var variable4 = "value 4";
var variable5 = "this";
var variable6 = "starts";
var variable7 = "to get";
var variable8 = "hard";
var variable9 = "to read";
(我什至在输入这个答案时出错,因为我忘记了变量编号,而且我只在将声明分成几行时才注意到。)
有了这条规则,开发人员就不需要考虑是否应该对变量声明进行分组以及何时开始新的声明,这消除了一些精神负担并提高了整个代码库的一致性。每行单个声明还可以在需要时更轻松地移动它们,尤其是在具有剪切和粘贴整行的键绑定的编辑器中。
最终,这仍然是个人决定。如果需要,我们可以禁用该规则。选择最适合您的项目的方法。