我正在开发 JavaScript 样式指南,并且我知道可以应用于代码约定的唯一规则是保持一致,但我对这个问题很好奇,因为没有一个主要框架使用这个约定。
声明对象/变量时,冒号/等号垂直对齐的优缺点是什么?
var a = 1,
ab = 2,
abc = 3;
var obj = {
a : 1,
ab : 2,
abc : 3
};
我正在开发 JavaScript 样式指南,并且我知道可以应用于代码约定的唯一规则是保持一致,但我对这个问题很好奇,因为没有一个主要框架使用这个约定。
声明对象/变量时,冒号/等号垂直对齐的优缺点是什么?
var a = 1,
ab = 2,
abc = 3;
var obj = {
a : 1,
ab : 2,
abc : 3
};
更好的代码可读性。就是这样。
缺点是使用 find 来查找变量的值时,因为空格比需要的多。variablename =
因此,由于它实际上被定义为 ,因此搜索可能不会产生任何结果variablename[space][space][space]=
。
当您再次阅读(或其他人阅读)时,将每个变量放在单独的行上将使您受益,因为很明显这些是不同的变量,因此提高可读性是主要因素。
从长远来看,主要是当将代码传递给其他程序员以维护或修改某些内容时,或者如果您在很长一段时间后重新使用它并且不记得代码时,它会带来好处。
在大多数语言中都是一样的。
此外,将变量与彼此(和值)对齐可以使代码看起来非常整洁,但这样做很麻烦,而且大多数人不这样做。您将对齐行的开头,但之后不会对齐其他任何内容。
想象一下,如果某些事情发生了变化并且您必须重新调整所有内容,将会发生什么。
不好。浪费时间可以花在编程上。
在代码中搜索将是一个明显的缺点:
想象一下我继承了你的系统,或者必须在它上面工作。在这个过程中,我需要弄清楚a
变量是什么。该系统有一个包含很多行的庞大代码库,因此不能简单地滚动浏览每一行。
如果代码标准是variable = 123
,那么我可以简单地为variable[SPACE]=[SPACE]
.
这是您发布的标准可能不是一个好主意的地方。我不知道变量名和等号之间会有多少空格。当然,我可以搜索a[SPACE]=
,a[SPACE][SPACE]=
等a[SPACE][SPACE][SPACE]=
,但这会更难。
搜索声明的唯一方法(在没有“查找声明”助手的原始代码编辑器中)是对variable\s+=
(一个或多个空格)或variable\s*=
(零个或多个空格)进行正则表达式搜索,这将花费更长的时间和需要具有正则表达式搜索功能的编辑器。