面试官:项目中的if else太多了,该怎么重构?

[复制链接]
楼主: fundes

18万

主题

38万

帖子

10305万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
103051470
 楼主| 发表于 2021-5-10 20:35:31 | 显示全部楼层
这个也只是容易扩展了,新增的话不会影响到其他业务,重构实现了低耦合
回复

使用道具 举报

18万

主题

38万

帖子

10305万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
103051470
 楼主| 发表于 2021-5-10 20:39:47 | 显示全部楼层
代码量没变吧。只有这个类清爽了,别的类要实现俩接口。集中if else的是fasade模式,分散到客户类是command模式
回复

使用道具 举报

18万

主题

38万

帖子

10305万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
103051470
 楼主| 发表于 2021-5-10 20:44:03 | 显示全部楼层
改成这样 if(a) { … } if(!a) { … } 你看,这不就把else优化掉了[奸笑]
回复

使用道具 举报

18万

主题

38万

帖子

10305万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
103051470
 楼主| 发表于 2021-5-10 20:48:19 | 显示全部楼层
一个if单独处理一种情况,这不是很清楚的事情么。还有比这更简洁的么。
回复

使用道具 举报

18万

主题

38万

帖子

10305万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
103051470
 楼主| 发表于 2021-5-10 20:52:35 | 显示全部楼层
我认为switch+函数化比动不动就滥用接口对象好太多了,这种写法是作者觉得很爽,但是读者要快速get到你的点,文档流程图少不了,就好比现在出个产品,你得看说明书才会用,按现在的标准一定不是个好产品
回复

使用道具 举报

12
返回列表
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

精彩课程推荐
Copyright   ©2015-2016  蒙特利尔精英网-新加园  技术支持:金子路传媒