这样写 if/else 的人,内心一定很扭曲吧

2017 年 7 月 10 日
 withrock

14956 次点击
所在节点    程序员
110 条回复
zhengxiaowai
2017 年 7 月 11 日
换行党和不换行党看着都很无奈
bk201
2017 年 7 月 11 日
@MiguelValentine 算了吧,这里几个不懂三目,别乱喷,如果你厉害你写个代码给大家瞧瞧就是了。
dapeng
2017 年 7 月 11 日
@herozzm ,不扶老奶奶,服你
XiaoFaye
2017 年 7 月 11 日
大家别 BB 了,估计写这代码的人 5 万一个月呢,尔等屌丝哪有资格评论。
am241
2017 年 7 月 11 日
@lance26 没那么多玄机,他们就是蠢。看看网上流传的诸多 51 单片机程序源码就知道了
QAPTEAWH
2017 年 7 月 11 日
格式有点问题,内容不评价。

有些人不要少见多怪
- “ logic follow structure ” 根据这个原则写出多重嵌套 if-else 很正常,反倒是各种合并会让逻辑不清晰
- 状态机写个大 switch 太正常了,搞不好是代码生成的
blacklee
2017 年 7 月 11 日
好像还没人说这一点,题中的代码上是
```if (cond1) {
xx1();
} else {
if (cond2) xx2();
else xx3();
}```

这就是 `if - else if` 的经典套路了,应该改成

```if (cond1) {
xx1();
} else if (cond2) {
xx2();
} else {
xx3();
}```

不知道 md 语法行不行
Sapp
2017 年 7 月 11 日
@MiguelValentine 有些人就是不喜欢用三元运算符,这不是喷点,喷点是他这么写确实很难看,就算用 if 也不该用这么难看,不知道你的关注点为什么在可以用三元运算符上。
Sapp
2017 年 7 月 11 日
@blacklee
if (xxx === '99') {
xxxx(x, 99)
} else {
xxxx(x, val || 0)
}

这么写就可以了
yanghao633785
2017 年 7 月 11 日
var payMethod = $("#selPayMethod").val();
if(payMethod == undefined || payMethod == ""){
payMethod = "00";
}
myPacket.data.add("payMethod", payMethod);
//"99"为啥要单独拿出来额
yuchenyang1994
2017 年 7 月 11 日

不想吐槽。。。。
laoyur
2017 年 7 月 11 日
能用即合理,能赚钱就行,吹毛求疵干吗
说非要优化成 if - else if 结构的,不知道业务是随时会变的吗,楼主这种风格的代码应对随时会加上的各种龟毛逻辑,更从容,不容易出 bug
Sapp
2017 年 7 月 11 日
@yanghao633785
你这么写似乎是有 bug,第一个 if 里是 gPayMethod,gPayMethod 应该是单独获取的。 而且也没必要这么写。

const payMethod = gPayMethod === '99' ? '99' : $("#selPayMethod").val() || '0'

xxxx('payMethod', payMethod)
mineqiqi
2017 年 7 月 11 日
var payMethod = gPayMethod=="99"?gPayMethod:$(#selPayMethod).val||"00";
myPacket.data.add("payMethod",payMethod);
yanghao633785
2017 年 7 月 11 日
@Sapp 确实,受教了。
Jimrussell
2017 年 7 月 11 日
顶楼那个确实有待提高,但也就是别人可能菜了点新手了点。说他内心扭曲我实在看不出来。
ZzFoo
2017 年 7 月 11 日
楼主的槽点居然在 if else, 不应该是 "99" 和 "00" 那两个 magic number 以及写了三次的 myPacket.data.add() 吗
stzz
2017 年 7 月 11 日
其他就算了,主要是括号看得人难受吧,看得头疼
murmur
2017 年 7 月 11 日
@caniuse 宋体字方方正正招你惹你了了
第一次看到用字体喷人的
liangWL
2017 年 7 月 11 日
Ctrl+Shift+Alt+T 搞定

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://v2ex.ih06.com/t/374340

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX