项目中代码复用的一些理解
今天逛博客看到一个博主对好系统设计的描述,有感而发
概括:
刚好工作中接触的是比较大型的项目,一个项目好几个公司在做,代码量很大,但是代码的复用性几乎为零。特别是我们后期加入的,根本不敢乱动前面的代码。所以会出现一种情况,明明他这个功能和我差不多,我也不敢用他的方法。
描述:
我们系统有很多个端口,给A客户用是一个系统,给B客户用是一个系统,给C客户用。。。。功能基本上是一样的,但是在不同端口会有一些不同的业务处理。我们公司根据负责的端口不同分了不同的开发小组,这样就会存在A组开发了功能A1,B组也需要使用到A1,这个时候会有两种处理办法,一种是直接把A组写好的代码cv一份,还有一种就是通过调用A组写好的接口实现功能。最好的办法当然是直接调用A组写好的接口,但是问题来了,我们后入职的同事对哪个组有哪些功能根本不熟悉,所以很大可能会直接自己动手写一套A1的实现,导致同一个功能有多个实现,不方便后期维护,也对程序的一致性有影响。
解决思路:
我目前想到的就是需要有一个地方维护一份功能手册,就类似jdkapi这种的,专门一个小组维护上面的代码,我称之为核心。如果其他组有什么新需求直接提给核心,核心负责实现,不过核心实现的功能都是弱业务的,只提供基础的服务。如果我需要实现什么功能可以直接查手册,如果发现手册已经实现了就直接调用手册上的接口。不同的业务场景可能会有定制化需求,但是由于最终调用的核心代码都是一样的,这样可以对业务逻辑或者说功能实现上能有统一的控制能力。


浙公网安备 33010602011771号