JobPlus知识库 IT 软件开发 文章
消除if else,让代码更加好读易懂

本文使用JAVA编程语言,其他语言道理一样通的,支持lambda表达式或者函式编程的语言写起来更加简单优雅。
相信大家做了一段时间开发之后,都免不了看到一种尴尬的场面,就是条件分支太多了,一堆if、else,甚至还有层层的嵌套,就算不用if else,可是用switch case还是换汤不换药啊,业务这么复杂,不用条件分支,臣妾做不到啊。看下面的例子:
假设这么一个场景,你的程序是一个消息处理的程序,这里场景其实是简化的抽取了微信公众账号开发消息处理的一部分来说明问题,消息类型有三种,图片、文字、事件,事件又分为三种子事件,分别为菜单事件、扫码事件、关注事件,每一种消息处理方式不同*,最原始大家的代码如下(下面代码仅为说明问题虚构,并非实际项目中的代码,并忽略了异常处理):

这样的代码有问题吗?咋一看,没啥问题啊,大家不都是这样处理业务问题的吗?难道面对这样的业务需求,还有其他的方式处理吗?不做条件判断臣妾真的做不到啊!!!
别伤心,方法是有的,我第一次碰到这种问题的时候,也是头都大啊,我接手的是前人的代码,里面的if else漫天都是,比上面的场景复杂多了,以我当时的技术水平,愣是没法完全看懂业务逻辑,嵌套层级太TM多了,抓狂啊,我上辈子得罪谁了?!!要我来处理这样的摊子,香菇,蓝瘦,然而,任务既然落到我的手里了,我不能不处理啊,总不能辞职一走了之吧?琢磨里几天,真的寝食难宁啊。
突然想起当时非常流行的一种界面风格,扁平化,这种错综复杂的代码,是不是也可以像微软的手机界面一样,扁平化平铺出来呢?于是撸起袖子撸代码(下面代码还是仅为说明问题而虚构的,并非实际项目中的代码,并忽略了异常处理):

如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!

¥ 打赏支持
91人赞 举报
分享到
用户评价(0)

暂无评价,你也可以发布评价哦:)

扫码APP

扫描使用APP

扫码使用

扫描使用小程序