围绕ifelse与业务逻辑的那些梗

ifelse很重要,几乎是程序员编程核心,业务逻辑与规则也通过ifelse体现出来,语句简单但是背后文章很大,先看几则幽默图:      
      
1. 也许默认使用return false可以节省一半代码,这幅漫画抱怨了if else的累赘冗长,希望精简它,但是从业务逻辑精简是根本,如果只是在程序员可见的编码范畴边界内进行精简,作用有限:

 

2. 程序员在不同阶段对if else的认知,编程就是用iflese实现业务逻辑:
    
          
3. 再看一则​幽默,估计因为太复杂ifelse导致Bug百出,最后靠bug维持了软件系统正常运行:

 
以上三幅幽默说明了ifelse实现业务逻辑的现状,解决方式:

  1.  业务和IT分离的时代已经过去? :程序员不能只做解决方案,也必须进入问题领域
  2. 什么是战略清晰的挑战地图? :引入产品等战略性方法,从问题领域高度解决业务逻辑的根本问题
  3. 产品大牛分享:产品经理入职后怎么做?:引入产品经理,专门解决这些业务和IT结合的战略问题
  4. 副作用是编程头号敌人!如何剥离它?-: 程序员在具体实现业务逻辑代码时,需要把if else代表的业务规则战略和具体执行动作战术分离,这也是函数式编程一个思路
  5. 规则引擎模式的.NET开源项目案例:更进一步,根据SOLID原则引入规则引擎设计模式,将战略和战术完全分离。
  6. 复杂性系统是一种心智接口:对于更复杂的系统,使用DDD领域驱动设计等方法。

总之,ifelse几个字母代表了软件行业辛酸泪,大道溶于平常代码中,这也许才是大道至简的真谛吧。