前段时间,我负责一款APP的接口开发,其中有一个新增的操作,逻辑比较复杂,涉及到9个数据表的数据改动,而且表又跨库,这9个表呢,个别在别处还有单表操作,所以为了复用之前的数据层,笔者直接想到了使用分布式事务TransactionScope,在业务层直接调用多个DAO类的方法 ...
一次项目代码重构 使用spring容器干掉条件判断 这是在一次公司项目中进行重构时,一些复杂业务时想到的一个去掉一些if else的办法。能够使代码逻辑更加清晰,减少一些业务上的耦合。 业务说明 我所在的是一个做保险的项目组,这次重构是针对其中的保费计算和核保的业务。 项目重构之前,在保费计算的接口中,有大量的条件判断语句来判断这次进行保费计算的产品是哪一个,然后调用该产品的保费计算方法。代码大致 ...
2019-06-27 10:33 17 2323 推荐指数:
前段时间,我负责一款APP的接口开发,其中有一个新增的操作,逻辑比较复杂,涉及到9个数据表的数据改动,而且表又跨库,这9个表呢,个别在别处还有单表操作,所以为了复用之前的数据层,笔者直接想到了使用分布式事务TransactionScope,在业务层直接调用多个DAO类的方法 ...
对于这一次重构的项目,我还是比较陌生的,因为我也是刚刚介入该项目,并且赶在了项目交付期,虽然做了一些功能, ...
第一次读重构 - 改善既有代码的设计(Refactoring: Improving the Design of Existing Code)这本书还是在学校的时候,那个时候刚开始写Java代码,师兄推荐了两本书《重构》、《设计模式》。在今日看来,这两本书都是经典好书,得谢谢我的师兄。 最近,打算 ...
好久没写代码了,终于好不容易接到了开发任务,一看时间还挺充足的,我就慢慢整吧,若是遇上赶进度,基本上直接是功能优先,完全不考虑设计。你可以认为我完全没有追求,当身后有鞭子使劲赶的时候,神马设计都是浮云,按时上线才是王道,毕竟领导是不会关注过程和代码质量的,领导只看结果,这也许就是我等天朝码 ...
分离和组合关注点。 引子 如下代码所示: 两段 getComparator 有一些明显重复的代码。 看上去应该可以消减这种重复,不过仔细一看,似乎还不那么容易。 这里有三点差异: 根据指定字段比较; 根据指定方向排序; 返回指定对象类型的比较器 ...
接手一老项目,经过几个月之后,实在顶不顺原来的架构,一样事情要干两件活,代码冗余复杂,给维护工作带来很多问题和隐患,趁着前段时间新需求比较少,遂与产品负责人沟通之后暂停新需求,先进行项目重构。于是就花了近一个月的时间对其架构进行重构,首先是将接入部分和业务处理部分分离,其次是将业务处理部分 ...
概述 有时候你可能会在条件判断中,根据不同的对象类型(通常是基类的一系列子类,或接口的一系列实现),提供相应的逻辑和算法。当出现大量类型检查和判断时,if else(或switch)语句的体积会比较臃肿,这无疑降低了代码的可读性。另外,if else(或switch)本身就是一个“变化点 ...
1.案例分析 如何去除If,else,switch条件判断 对于具有一定复杂逻辑的代码实现,避免不了出现if,else,switch等逻辑判断。当逻辑分支越来越多的时候,大大地加大了阅读的难度。这种情况,我们该如何处理呢? 2.switch 与if else谁快 对同一个变量 ...