代码元素之间应该有多少空格?

How much whitespace should exist between code elements?

我似乎无法找到每个 "code element" 之间应该存在多少空白的样式指南。

是否存在以下情况:

function myFunction() {
var noNewLine;
}

优于:

function myFunction() {

var oneLine;

}

或者在某些情况下在同一行声明多个变量是明智的:

function myFunction() {

var x; var x; var z;

}

即使所有这些变量之间存在某些上下文或联系,它是否总是错误的?

这只是你想交流什么的问题。然而,当我与更多人一起从事更大的项目时,我发现保持一致非常重要。文体选择不必要地耗费头脑,而一致性训练大脑如何快速扫描它正在寻找的东西。大多数语言都有推荐的风格指南,所以如果你开始一个新项目,通读一下它可能是个好主意。如果您正在处理其他人的代码,请尽量与他们的风格保持一致。 代码应该看起来像它周围的代码。

我个人的空行风格是尽量把相关的行捆绑在一起。因此,我将在三行或四行的两边放置空行,这些行一起工作为 "do one thing"。例如

// Find the last good index of arr.
var finalIndex = -1;
for (var i = 0; i < arr.length; i++) {
    if (isGood(arr[i])) {
        finalIndex = i;
    }
}

我会在这附近加上空行,因为它们可能是我正在进行的更大计算的一部分,但我可以用一个简单的句子来描述这些行的作用。

我不建议在同一行上进行多个声明。原因是,如果我正在阅读一些代码,我会看到

x += metric(rightIndex);

而且我不知道 rightIndex 是什么,我将向上扫描以查看它的声明位置。如果你声明它们像

var leftIndex; var middleIndex; var rightIndex; 

我可能会错过它,因为当我扫描时我只看到

var leftIndex .................................

而如果它在

这样的块中
 var leftIndex;
 var middleIndex;
 var rightIndex;

我更容易看出来

所以有一些经验法则适合您。程序员可能会对这些主题充满热情,因此只需轻轻地合并有用的东西,丢弃无用的东西,以创造自己的方式。 截拳道