language-agnostic - 关于在多行条件表达式中放置逻辑运算符的建议

标签 language-agnostic code-formatting

这真是一个详细的格式问题,但我每次都被它绊倒......

对于多行条件表达式,逻辑运算符的首选位置是什么?


备选方案 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/

相关文章:

Android Studio 代码格式问题

intellij-idea - 谷歌 IntelliJ Java 风格 : changing 2-space indentation to 4-space indentation

language-agnostic - 如何反转字节中的ON位?

language-agnostic - 液态状态机的实现

c - 指针星位置

c++ - 为什么 Eclipse CDT 代码格式化程序有时会在模板参数中引入空格?

C# 正确格式化(缩进,对齐)C#

.net - 有没有一种方法可以生成编译器错误?

language-agnostic - 如果短 URL 是一种很好的做法,为什么像 Amazon 或 Facebook 这样的大网站不实现它们呢?

language-agnostic - 网络编程 - 学习途径是什么?