排队运营商是一个值得的风格?

时间:2008-11-12 22:42:14

标签: coding-style

some_var = foo()
another_var = bar()

some_var    = foo()
another_var = bar()

包括在添加或删除行时更改空白以保持排列。这真的很好吗?是不是值得混淆差异?

7 个答案:

答案 0 :(得分:9)

我认为它不是一个好的风格,因为它太难以进行更改(你必须完成所有的工作再次排列它们),对我来说,它是完全可读的,没有额外的空格。

对此更令人讨厌的是,当你改变一条比其他所有行都长的行的左边部分时,你需要重新排列所有其他行。

示例:

some_var    = foo()
another_var = bar()

现在我要添加一个名为another_another_var的var:

some_var    = foo()
another_var = bar()
another_another_var = baz()

现在我必须再次排队:

some_var            = foo()
another_var         = bar()
another_another_var = baz()

非常讨厌。

答案 1 :(得分:4)

从我作为VCS管理员的时间开始,很少有风格问题值得一试。我们有一个开发人员改变他的性别变化程序的名字,她的新名字没有相同的首字母。然后,每当她参加一个项目时,她都会将她以前的名字改为新名字,这让我很烦恼。

答案 2 :(得分:2)

使用Perl,您可以随时设置首选项并对代码进行操作。

在正确的语境中,它给出了对齐='s的精确性,而不用担心需要考虑如何最好地对齐它们并记住自己做。

此外,无论您为项目使用何种编码风格,都应该强烈保持这种风格。

风格越一致且严格执行,就越容易在代码中发现奇怪和编程错误。

此外,通过强制执行良好的换行规则,对编码风格的一些强制执行可以长期减少基于差异冲突的问题。

答案 3 :(得分:1)

不,除非变量之间存在某种垂直关系,例如:

some_var[  1] = "foo";
some_var[100] = "bar";

但我这样做非常罕见,特别是当我只有一些变量时。这在SQL中更常见,我可能在一行中有参数名称,类型和默认值(三个部分),但即使在那里我也试着避免它 - 这不值得麻烦。

@some_var varchar(25) = NULL
@another_var varchar(1000) = ''
@one_more int = 0

答案 4 :(得分:1)

没有

虽然有些人发现这种风格非常令人愉悦,但现代的IDE语法突出显示会使这种方式的对齐变量浪费时间,包括重构或修改代码时重新格式化它们所花费的时间。

此外,我坚信将变量声明为接近需要的范围。很少会导致变量声明块甚至需要对齐。

答案 5 :(得分:1)

这样的样式会使眼睛垂直移动;但是,代码应该是水平阅读。编码风格应该与眼睛的作用相辅相成,而不是与之作斗争。

答案 6 :(得分:1)

此外,在极端情况下,由于存在较大的间隙,很难随意查看哪个分配到了哪里。这是我在头文件中经常看到的东西。

...
some_important_number                                             = 348273;
initial_message_prefix                                            = "foo";
another_important_number                                          = 348711;
max_bucket_sz                                                     = 456;
...

在一个区块中有数十个这样的区域,它变得难以阅读。