一次重构的过程

一个service长达1100行。

首先找到那些private的方法,发现是static的,于是把它们移动到一个静态类。这样减少了100行。

第二步发现几个已经不再使用的方法,将其删除。减少100行。

发现service中的一些方法没有逻辑关系:有的是对实体进行编辑的,有的是对实体进行查询的,另外的则是生成实体的方法。于是将原来的service分成了三个。

然后发现生成实体的接口还是很大,超过700行。询问后发现,这个方法其实是一个复杂的过程:

1. 解析生成规则;

2. 初步确定选择范围;

3. 访问外部数据,确定是否生成任务实体;

4. 将生成的任务实体插入数据库;

经过这样的分开之后,最大的类也智优300行了。

经过这样的分解后,结构更加清晰。单测也更容易了。首先静态类可以很容易的测试。每个service功能单一,依赖的外部服务较少,很容易mock。

原文地址:https://www.cnblogs.com/alphablox/p/2808177.html