前言
实际的开发工作中时刻在面临着研发能力和逻辑冲突之间的矛盾,影响组件结构的不只是技术水平和公司内部政治斗争,结构本身也是在不断变化。处理组件耦合关系的方法,可以总结为一下三个原则。
一、无依赖环原则
组件依赖关系图中不应该出现环。
开发中我们都有这样的体验,头一天好不容易改好的文件,到了第二天,突然就无法正常运行了,通常是你走后有人改了你依赖的组件。出现这种问题,主要的原因是多个人修改了同一个文件,项目规模小,这种现象并不严重,但是项目规模一大,这种现象就会非常严重。
针对这种问题,长时间以来演化出了两种解决方案。
1、及时构建
在现在的devops中及时构建是一种很重要的内容,每个程序员在自己的分支上开发,等到功能开发完毕,然后将各自的分支合并到主干上,在发布新版本,进行构建开发。
及时构建确实能够让程序员能够短时间在集中精力开发自己的功能,但是随着项目增大,合并到主干上需要处理的冲突越来越多。构建难度会越来越大,研发质量自然会下降。
2、消除循环依赖
针对上述的难题,解决办法之一就是划分组件,给单独一个人或一组人,对划分的组件,打上版本号,其他人依赖该组件,可以指定该版本号。等到各自的程序准备好对应升级后的组件之后,再提升依赖版本。这样,一个组件的变化,就不会立刻影响到别的组件。就能以小步快走的模式,进行渐进开发。这种方法的成功,必须控制好组件之间的依赖关系,绝对不允许该结构中存在着循环依赖。