if从入门到出轨

if从入门到出轨(java版本)

为什么会产生很多if分支

在我们的日常生活中,会遇到很多判断逻辑,屁如,如果你在2月14号,心情很好,那么就给女朋友买了个iPhone 14 Pro Max 1TB 银白色,如果你女朋友在2月14号没有收到您老人家的礼物,那么你可能睡沙发或者轨搓衣板,或者直接和其他帅哥好上了,亦或者直接给你抛个异常,带个绿帽表示表示.放在业务代码中,屁如,如果用户是普通员工,应该展示上面列表或者按钮,如果是超管又应该展示上面列表或者按钮.生活中业务中客观存在的逻辑,自然就会产生if分支,当然最终经过转换,都会走到0和1,就是数字电路中的高低电平,我们就不扯远了,简言之就是,if逻辑客观存在,所以写代码的时候始终要写这些逻辑,只是展现形式不一样罢了.

if分支是什么

学习一门新的语言往往是先学语法,比如像学如何定义变量,一些运算符,了解相关数据类型(什么类,对象,接口,枚举等杂七杂八的),和条件语句(if,switch case ),常用数据结构(map,集合,链表,树等),控制流程语句啊(for循环,迭代器,do while什么的),以及其他特性(反射,注解,线程等),我们写的业务代码,if条件语句几乎到处都是,并且看起来不太美观,审美疲劳,简言之,它好像什么都不是,但是又却不了.

常见解决if分支方案和if分支抽象模型

我们看其他老铁的代码时发现,人家喜欢用设计模式去优化,屁如策略模式,工厂模式和模板方法等,或者三木运算,或者JDK8的optional或者加强版(hutool的opt工具类传送至Opt,包含JDK16的新增方法)if数量太大的往往用map映射甚至数据库表配置等方案,感觉挺好的,这个是大多数老铁爱干的,然而一顿操作下来,难免还是有if 分支散布在不同的模式内部或者其他卡卡各各,所以我们为了让前面的方案再少一些if分支,参考函数式编程的理念(给参数执行操作),重新给if 分支抽象了一个分支模型出来

        if (布尔值或者异常){
        //  执行相关函数(业务逻辑,赋值,请求三方接口,打印日志,操作缓存或者数据库等等
        //  或者返回一个值
        //  发生或抛异常(比如老生常谈的空指针)
        }

if分支常见代码和改造示例

案例1
图片涉及真实代码,暂时隐藏,隔几天换成其他代码再上(当时是用于演示,急忙添加上去了)
在这里插入图片描述
去if后
![在这里插入图片描述](https://img-blog.csdnimg.cn/445cb42c634c4d9dacbbd6a1869fc8c6.png
去掉if并使用方法应用
![在这里插入图片描述](https://img-blog.csdnimg.cn/ef3d8be295a84ee38ca032a842788c8f.png
案例2
![在这里插入图片描述](https://img-blog.csdnimg.cn/5afd221cc35f4321a78d7c1044f9c4f9.png
去掉if后
![在这里插入图片描述](https://img-blog.csdnimg.cn/de5dc82bbbda4627998e97239896cd37.png

案例3
![在这里插入图片描述](https://img-blog.csdnimg.cn/19c38355e89146b79b74e78d227d8cd7.png
去掉if后
![在这里插入图片描述](https://img-blog.csdnimg.cn/e325ddbc42c64676a59cee82918b5512.png

由于Kif和Hif是一个工具接口(由函数完成,不含有类方法的调用),其中和hutool的Opt类(暂时还缺少点方法)搭配使用更佳,90%以上的if条件语句是可以改造的,那剩下的目前感觉是java语法受限,暂时只能用原生if(如果有,记得告诉贤弟,3Q)
![在这里插入图片描述](https://img-blog.csdnimg.cn/c5091634c59e47d79badc6cbf0bf08fb.png
关于optional不足(只能判空,map传递对象不能操作原来的对象)在hutool的Opt类的到了一些解决,但是它需要传递一个对象,对于不需要传递的操作,暂时没有完全处理,也就是没有把if 的逻辑在里面一并处理,后面如果有,那么这个博客会更新(贤弟空了看能不能提个PR加进去,后面再说吧)
https://gitee.com/dromara/hutool/pulls/426
在这里插入图片描述

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值