来源:mp.weixin.qq.com/s/MlGkFx5Ei…
作者:Java技术栈(欢迎大家关注)
最近做 Java 面试辅导,有个兄弟面试美团,遇到一个特别有意思的问题:
一万个 if else 如何优化,有好的解决方案吗?
我看到这问题都有点懵逼,现实项目中怎么可能会有 10000 个 if else 的代码,至少我工作 10 余年没见过样的代码。
关键要写完这 10000 行的 if else 代码,如果每天写 100 个,是不是意味着也要 100 天才能写完,并且每次请求都要执行几千上万次的判断,代码难以维护不说,还会严重影响系统性能。
很显然,面试官考察的不是一般的八股文,这个问题可以看作是一道场景题,它考察一个程序员在面对复杂逻辑判断时的优化能力,也是在考察一个程序员临场发挥技术能力。
这兄弟虽然说上了策略模式,但显然不是完美和唯一的解决方案,另外像责任链模式等其他设计模式都会存在这样的问题,所以具体的问题还得具体分析。
所以这题可以这样回答:
如果这 1 万个 if else 是在同一个代码块流程里面,这就要考虑这 1 万 if else 存在的意义了,因......
暂无评论...