当前位置: 首页 > 面试题库 >

三元运算符使用哪种编码风格?[关闭]

缪征
2023-03-14
问题内容

按照目前的情况,这个问题不适合我们的问答形式。我们希望答案得到事实,参考或专业知识的支持,但是这个问题可能会引起辩论,争论,民意调查或扩展讨论。如果您认为此问题可以解决并且可以重新提出,请访问帮助中心以获取指导。

7年前关闭。

如果很短,我将其放在一行中。最近,我一直在将这种样式用于较长或嵌套的三元运算符表达式。一个人为的例子:

$value = ( $a == $b ) 
            ? 'true value # 1'
            : ( $a == $c )
                ? 'true value # 2'
                : 'false value';

您个人使用哪种样式,或者最易读?

编辑:( 关于何时使用三元运算符)

我通常避免使用2个以上级别的三元运算符。当我在PHP模板脚本中回显变量时,与2级if-else相比,我倾向于2级深度三元运算符。


问题答案:

通常应避免使用三元运算符,但是这种形式可以很容易理解:

  result = (foo == bar)  ? result1 :
           (foo == baz)  ? result2 :
           (foo == qux)  ? result3 :
           (foo == quux) ? result4 : 
                           fail_result;

这样,将条件和结果保持在同一行上,就可以轻松浏览并了解正在发生的事情。



 类似资料:
  • 条件(三元)运算符是 JavaScript 仅有的使用三个操作数的运算符。一个条件后面会跟一个问号(?),如果条件为 truthy ,则问号后面的表达式A将会执行;表达式A后面跟着一个冒号(:),如果条件为 falsy ,则冒号后面的表达式B将会执行。本运算符经常作为 if 语句的简捷形式来使用。(MDN) 三元运算符,也称条件运算符、三目运算符。 三元运算符可以代替简单的 if 语句。 1. 语

  • 假设我们有一个前提条件,有了类定义: 其中实例是从数据存储中获取的,它可以是 变量通过web服务填充,也可以是。结果应该加载从web服务获取的值的优先级。 我希望你们在这里发表意见,让我们讨论一下这两行中哪一行更具可读性? 不确定是否会给您带来困惑!?我一直在尝试使用它们,有时会因为一句话而失去指南针。也许,这也可能很愚蠢,但我很好奇你的想法是什么?

  • 问题内容: 我一直在尝试使用嵌套形式,如下所示: 但似乎我缺少了一些东西。谁能协助我该怎么做? 问题答案: 将其括在括号中: 甚至更好的是,使用适当的/ 语句(出于可维护性): 但是,正如其他人指出的那样:使用起来更简单:

  • 有几个众所周知的python代码样式规则,它们被认为是默认的,我试图坚持: 换行,使其不超过79个字符。 保持缩进4个空格长。 另一个常见的编程建议是 避免全局变量 换句话说,应该始终使用接受所有变量作为参数的函数,并避免直接从更高范围读取的类似Pascal的过程。 然而,在某些情况下,人们肯定应该打破其中的一些规则。例如,如果涉及具有长参数列表的函数。它们有两个不同的问题: 首先,在凹凸不平的街

  • 如果有人问起 Python 程序员他们最喜欢 Python 哪一点,他们一定会提到 Python 的高可读性。确实,对于 Python 来说,其高可读性一直是 Python 这门语言设计的核心。一个不争的事实是,相对于写代码而言,读代码才是更加平常的事情。 Python 代码有高可读性的一个原因就是其有着相对而言更加完善的编码风格准则和 「Python化」习语。 当 Python 老手(Pytho

  • 语法 UTF-8编码 Unix换行符,每行120字符 缩进符用4个空格,需要设定编辑器tab转4空格 花括号独占一行 函数与函数间使用一个空行分割 能使用静态内联(static sw_inline)就不要用宏 能用enum枚举就不要用宏 代码可读性比性能更重要 标签 label必须以下划线开头,用于goto语句 label必须独占一行 枚举 命名必须为sw{模块名称}_{作用},如:swServe