3

我注意到样式检查器在实现内联条件时会向您发出警告:“不要使用内联条件”。为什么?

4

2 回答 2

11

我认为这是因为代码可读性。

考虑这两个代码,其中a是一个数字(intfloat或其他):

#1

if(a < 0) {
    a = 0;
} else if(a < 10) {
    a = 10;
} else if(a < 20) {
    a = 20;
} else if(a < 30) {
    a = 30;
}

#2

a = a < 0 ? 0 : a < 10 ? 10 : a < 20 ? 20 : a < 30 ? 30 : a;

他们做的事情完全相同,但第一个更清楚。

于 2013-09-07T16:50:01.520 回答
3

理解内联条件中发生的事情需要努力。如果只有一个条件,最好使用条件运算符。对于一个以上的条件,if-else-if 构造更好,因为它易于阅读。

于 2013-09-07T16:59:02.127 回答