表驱动法
凡事可以通过逻辑语句来选择的事物,都可以通过 查表法 来解决,对于简单的情况,逻辑语句更为简单、直白,但是随着选项越来越多,表驱动法就显得更容易维护
上面的写法充斥着非常多的 switch
语句,如果后期随着需求和选项的增加,switch 语句会变得越来越长,这时候可以使用 表查找法 来优化
逻辑倒置
一些第三方的库提供了类似断言的功能,例如 zod
,使用时不需要单独判断验证是否正确,zod 本身会抛出错误
面向对象
在面向对象编程中,多态调用其实就类似于 switch
分支,但是多态恰恰又可以把分支逻辑完美的隐藏起来,利用面向对象的多态,加上简单工厂,往往可以将分支逻辑独立处理,让主逻辑更加清晰
特定的场景还可以通过设计模式来解决
例如常见的微波炉的例子
这种场景下可以使用状态模式来解决,每个状态对应的操作封装在一起。由多态来选择相应的状态,这样条件语句就可以彻底删除了
高阶函数
空值判断