这真是一个详细的格式问题,但我每次都被它绊倒......
对于多行条件表达式,逻辑运算符的首选位置是什么?
备选方案 1:每行末尾的逻辑运算符
if (value1 == comparision1 &&
value2 != comparision2 &&
!comparision3.Contains(value3))
{
// stuff
}
优点:线条排列得很漂亮
缺点:逻辑运算符很容易被遗漏
备选方案 2:每行开头的逻辑运算符
if (value1 == comparision1
&& value2 != comparision2
&& !comparision3.Contains(value3))
{
// stuff
}
优点:逻辑运算符强烈存在
缺点:对齐看起来很奇怪
你喜欢什么? 过去哪些格式对您有帮助? 过去哪些格式让您感到困惑?
编辑:
刚刚找到一个相关的问题我之前没有找到(虽然我仔细搜索过):What is the best formatting for operator placements on new lines?
似乎普遍认为运算符(operator)的位置完全取决于个人意见(除了那里的答案中概述的一个异常(exception)),但我不同意这一点。由于我写的 Pro/Con 论据,肯定对代码可读性有影响!
剩下的问题:我没有个人意见,因此每次遇到这种情况时都不确定该选择哪种样式。显然理论上很难评价,我问的是你过去用这种表达方式所做的实践经验。
最佳答案
没有最好的格式。使用您团队的标准。如果您不在团队中或负责为您的团队定义标准,请选择使代码最容易阅读的内容。清晰度是最重要的考虑因素。
您选择哪种格式并不重要。最重要的是您和您的团队一致使用该格式。如果您的所有代码都遵循相同的模式,那么与完全没有标准相比,代码将更易于阅读。
关于language-agnostic - 关于在多行条件表达式中放置逻辑运算符的建议,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28585760/