很长一段时间以来,我都认为它们是同等价值的,或者说非常接近相等,以至于通过做出正确的选择可能获得的收益远远低于争论的代价。
作为一致是很重要的,虽然。因此,我说了让我们掷硬币并继续编写代码。
我以前见过程序员抵制这种变化。克服它!我的职业生涯已经换过很多次了。我什至在C#中使用的样式与在PowerShell中不同。
几年前,我在一个团队(约20个开发人员)中工作,该团队决定征求意见,然后做出决定,然后在所有代码库中强制实施。我们有1周的时间来决定。
很多of吟声和眼神。很多“我喜欢我的方式,因为这样更好”,但没有实质意义。
当我们研究问题的精妙之处时,有人问如何用相同的括号方式处理此问题:
void MyFunction(
int parameterOne,
int parameterTwo) {
int localOne,
int localTwo
}
请注意,参数列表的结束位置和主体的开始位置并不清楚。相比于:
void MyFunction(
int parameterOne,
int parameterTwo)
{
int localOne,
int localTwo
}
我们阅读了一些有关世界各地人们如何处理此问题的文章,并发现了在大括号后面添加空白行的模式:
void MyFunction(
int parameterOne,
int parameterTwo) {
int localOne,
int localTwo
}
如果您想在视觉上休息一下,不妨用撑子做一下。然后,您的视觉休息也变得一致。
编辑:使用K&R时,“多余的空白行”解决方案有两种选择:
1 /使函数参数缩进与函数体不同
2 /将第一个参数与函数名称放在同一行,并将新行中的其他参数与该第一个参数对齐
例子:
1 /
void MyFunction(
int parameterOne,
int parameterTwo) {
int localOne,
int localTwo
}
2 /
void MyFunction(int parameterOne,
int parameterTwo) {
int localOne,
int localTwo
}
/编辑
我仍然认为,一致性比其他考虑因素更为重要,但是如果我们没有既定的先例,那么顺其自然地走就是一条路。