有时,当我有一个多案例if,或者一个非常简单的for,只有两个语句时,我会放弃大括号,而不是使用逗号.这是对该功能的糟糕利用吗?它是丑陋和糟糕的形式吗?或者它是一种节省时间和空间的可接受方式?
例如:
if (something)
b = y, c = z--;
Run Code Online (Sandbox Code Playgroud)
代替:
if (something) {
b = y;
c = z--;
}
Run Code Online (Sandbox Code Playgroud)
Sea*_*ean 12
这确实是一种使用大多数类C语言的语法特征的聪明方法.
就个人而言,我尽量留在最明确地当我的代码,所以我一直有{和}我的所有的if语句.它可以节省时间,但我更喜欢清晰:它不会加速或减慢代码执行速度.
我投票反对它有几个原因:
它不会节省超过几分钟的打字时间.
如果你真的需要在屏幕上节省太多空间,你需要一个更大的屏幕(或者你应该运行一个更大的终端窗口).
它对生成的目标代码没有任何影响.因此,它对运行时没有影响.
在调试器中逐步执行逗号表达式的组件语句更加困难.
我认为更容易阅读冒号分隔(因此'支撑')代码,而不是更难以键入支撑版本.(经过很长一段时间,我一直用C语言编写并使用大括号,我不得不考虑使用逗号表示法.)