策略模式消除if(策略模式使用)
策略 2024年10月26日 10:09:10 3399youxi
关于多层if的问题
1、=IF(B25000,1%,IF(B210000,3%,IF(B215000,5%,10%))对于这种分级次的多层嵌套问题,当嵌套层数较多时,有时套着套着就把自己给套迷糊了,你可以选择使用其他函数,比如LOOKUP。
2、使用CHOOSE函数替代IF函数实现多层嵌套:通过将多个条件判断组合成一个包含0和1的字符串,并用FIND函数定位真值位置,再通过CHOOSE函数选择对应结果。最多支持29个条件,超过此数可通过嵌套实现。还原HLOOKUP原型解决多层嵌套问题:构造条件和结果数组,利用HLOOKUP函数寻找A1单元格在条件数组中对应的结果。
3、Excel的if函数强大且灵活,尤其在多层嵌套应用中展现出其深度。这种嵌套结构能够处理复杂的条件逻辑,显著提升数据处理能力。深入理解if函数的关键在于理解其基本结构:“如果条件成立,则执行操作A;否则,执行操作B”。
如何更优雅的写if-else,写出高质量代码
1、首先,考虑从不必要的 else 块开始简化。在条件判断后,如果直接返回结果,可以删除 else 部分。比如:Original: If-Else Simplified: Removed else 这种简化使得代码更加专业且易于阅读。接下来,对于基于输入分配新值的情况,应避免使用 If-Else。可以使用更直接的方法,如快速返回语句,从而优化代码结构。
2、掌握好开发语言,比如做Android就必须对Java足够熟悉,《Effective Java》一书就是教授大家如何更好得掌握Java, 写出高质量Java代码。
3、一行代码只做一件事情,定义变量或者是一条语句,在定义变量的同时最好将其初始化;if、for、while、do等语句占一行,不论执行语句多长,都记得加‘{’、‘}’。
4、依赖项分析:你的代码依赖关系怎么样?耦合关系怎么样?是否有循环依赖?是否符合高内聚低耦合的原则?通过依赖项分析可以辨别一二。复杂度分析:以前有人写的程序嵌套了10层 if else你信吗?圈复杂度之高,让人难以阅读。通过复杂度分析可以揪出这些代码,要相信越优秀的代码,越容易读懂。
5、/ param return / 行注释 /** **/或者 // 再者就是方法的命名也需要多加斟酌,一个业务方法,如果取最能体现体现该业务的名字,这样读者几乎不需要看代码便可以知道该方法具体用途。
如何借助策略模式优化条件分支
最后,通过替换 If-Else 结构来扩展应用程序。使用对象替换条件判断可以动态扩展应用,而无需在代码中添加额外的分支。
方案一:提前return,去掉不必要的else,提升代码简洁度。优化前:优化后:方案二:引入条件三目运算符,简化逻辑。优化前:优化后:方案三:利用枚举代替复杂的分支结构。优化前:枚举定义后:...方案四:合并条件表达式,逻辑更清晰。优化前:优化后:方案五:用Optional处理非空判断。
策略模式以文本编辑器为例,通过策略对象实现状态间的灵活切换。命令模式将操作封装为对象,如编辑器中的复制、粘贴等。观察者模式如温度监控,当状态变化时通知观察者。状态模式则通过定义对象的行为和状态,使得管理复杂状态逻辑变得直观。依赖注入解耦组件间的关系,便于测试和维护。