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