为什么使用if else分支语句不好
来源:互联网 发布:ip电话软件下载 编辑:程序博客网 时间:2024/04/30 01:21
为什么使用if else分支语句不好?不是说不能用,而是说在业务逻辑层等比较抽象的地方使用冗长的if else不好。
首先能想到的一点就是代码违反了 open close原则(open to extesion & close to modification)。每一次有新的逻辑变动,都需要了解原有代码的逻辑,并在适当的地方增加分支语句。这要求程序员对编写非常完整的逻辑。
打个比方,在一个继承谱系中,有一个基类,很多子类以及使用这个谱系的一个函数fun。如果在fun中用if else来找到合适的子类,那么必须考虑到所有的子类。尤其在增加子类的时候,子类的实现是完成了,但是对这个fun的修改遗漏了,bug就在那里了。与此相反,在这个fun中利用oo的多态,那么没有一堆if else了,编程语言自动帮你找到合适的子类实现。不仅省力,而且不容易引入bug。
其次(先留着,以后想到再补加)
那么有什么好的替换方案吗?
使用OO,用对象的思维来看待!摆脱写程序时顺序执行的思考方式,模块化的编写代码;代码的执行顺序由编译期或者运行时来决定,而不是编写代码的时候。
除此之外,还可以使用一些design pattern来避免if else这类的硬编码。“你还在用if else吗?” (http://www.jdon.com/artichect/ifelse.htm) 是片不错的参考。
- 为什么使用if else分支语句不好
- if/else 分支控制语句
- 使用分支语句(if…then…else)
- Python中的条件分支语句,if , else , else if
- swift 2.0 分支语句 if...else & switch
- python3 if elif else 分支语句
- 有多个if分支时,if--else 不能使用。应该使用,swith语句,否则if语句之间会存在相互影响。
- C language 使用if…else if…else语句实现多分支选择结构*(语法结构同C#)
- if else语句的使用
- java4Android(5)分支语句-if...else...判断语句
- C语言分支结构语句if-else语句
- 用于多分支的条件语句(if-else语句)
- 使用case语句来改善verilog代码中if……else分支过多的问题
- 000038:使用if...else多分支语句通过判断age的值决定输出结果
- C#中的分支结构:if..else if 、if... else 和 switch ...case语句的区别
- IF-ELSE IF-ELSE语句
- if-else 分支预测
- java中过多if-else分支语句的优化方案
- 设计模式总结
- vs2008中TFS安装指南
- 达芬奇五年沉浮——嵌入式处理器架构之争决战2012
- DIV+CSS--IE6,IE7,IE8,Firefox兼容
- vim编辑器终结版
- 为什么使用if else分支语句不好
- 总结一下Page_Load和OnLoad
- 关于C#Winform线程调用窗体的使用方法以及窗体的单一显示
- java Timer类的基本使用
- Linux内核Ramdisk(initrd)机制
- Silverlight渐进学习系列(1)——IValueConverter的使用
- Linux 文件系统
- android framebuffer 操作-进度条显示
- Oracle脚本修改表