比如,在写业务代码时,常常会有多重判断,所以代码可能会是这样:
if(a){
if(a1){
if(a11){
alll
}else{
a12
}
}else{
a2
}
}else{
b
}
而这种多层嵌套,显然不是好的编程方式,有什么好的技巧 /或方法解决这个问题吗? segmentfault 传送门: https://segmentfault.com/q/1010000004888693
1
levn 2016 年 4 月 7 日 via iPad 把里面的写成函数。。
|
2
ihuotui 2016 年 4 月 7 日 建议看一看 重构 那本书
|
3
banricho 2016 年 4 月 8 日 少用 else ,提前 return 出去呗 -。-
|
4
lightening 2016 年 4 月 8 日 把那个逻辑抽象成类,用继承。
|
5
Perry 2016 年 4 月 8 日 via iPhone
看什么语言吧,比如 Scheme 可以用 cond
|
6
msg7086 2016 年 4 月 8 日 |
7
techmoe 2016 年 4 月 8 日 三元表达式
|
8
ShiHou 2016 年 4 月 8 日 |
9
rainysia 2016 年 4 月 8 日
据说某俄国特工九死一生偷到了 NASA 太空火箭发射程序源代码的最后一页, 打印出来后:
}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}} |
10
shineMicroxy 2016 年 4 月 8 日 if(!n){
return; } //do something |
11
shakoon 2016 年 4 月 8 日 改用 case when
|
12
ProfFan 2016 年 4 月 8 日 状态机啊
|
13
yunying 2016 年 4 月 8 日 |
14
O3YwA1ENkb7i35XJ 2016 年 4 月 8 日 @rainysia 不应该是 ))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))
吗? NASA 是使用的 LISP |
15
ihuotui 2016 年 4 月 11 日 @ihuotui 还有 head frist 设计模式, https://book.douban.com/subject/2243615/
代码写不好,是 50%思想不对, 40%经验不足, 10%思维短路,然而前面两个都是可以学习的。第三个可以交流。 |