我见过很多这样编写的代码;
这里有第三种选择(至少在Ruby中),它依赖于换行符;
第四种选择是勇敢地在每个分支中放置赋值语句。
conditional_value = if thing_is_true
true_value
else
other_value
end
我对此感到矛盾。一方面,使用条件返回值(或任何其他语法块,如switch、begin/ends、循环甚至函数定义)可以减少冗余并清晰地表明代码正在做什么。另一方面,缩进经常会让人感到不适和困惑。
作为第二种可能性,如果决定将所有行缩进到第一行开头的级别,那就破坏了整个结构的视觉线索。
conditional_value = if thing_is_true
true_value
else
other_value
end
这里有第三种选择(至少在Ruby中),它依赖于换行符;
conditional_value =
if thing_is_true
true_value
else
other_value
end
第四种选择是勇敢地在每个分支中放置赋值语句。
if thing_is_true
conditional_value = true_value
else
conditional_value = other_value
end
我担心这会变成一个“看法”问题,但我认为有些事实我不知道;
- 这些风格在专业代码中经常出现吗?
- 人们阅读起来容易吗?
- 这些风格中是否常见导致错误的情况?
- 这些风格如何维护或破坏代码的视觉呈现的完整性?