这边不针对效能,也不针对说阶层太多,应该用什么方式重构之类的
只是看到有人提到巢状的三元运算子,阅读性太差,应该改回用if else写
我只是好奇两者的可读性有差很多吗?
以下只是举例,不是指实务上会真的这样写
(1) 三元运算子:
int i = condition1
? condition2
? condition3
? 1
: 2
: 3
: 4;
(2) if else:
int i;
if (condition1) {
if (condition2) {
if (condition3) {
i = 1;
} else {
i = 2;
}
} else {
i = 3;
}
} else {
i = 4;
}
单就上面的范例来说,我觉得两者可读性差不多,还是只是因为我看习惯产生的错觉 XD
以我自己的观点来看,像这种条件式指派单一变量值的情境,三元写起来比较顺手
也不用担心像在写 if else 时,因漏写了 else 导致有情况没指派到值