建立远景与方向

拉通:对齐目标

会遇到不一样的需求,有的是明确的重构需求,有的则是隐藏在需求之后,有的则是看上去没有而已。

明确潜在风险

你懂的。

人评估

并非所有的人都具备足够的能力参与到重构的过程中。

所以,在我们进入重构之前,需要:

  • 确保对方有足够的能力
  • 确保和对方对于重构有共同的看法
  • 确保对方能配合你工作

为此,需要一些培训,又或者是激烈的讨论。

他/她们需要具备以下的基本技能:

  • 理解面向对象设计
  • 了解设计模式
  • 了解写测试的重要性
  • 了解为什么要重构
  • 追求代码质量

当然了,在了解的基本上有更深入的理解也是不错的。

重构范围

对于一个大的系统来说,系统的每一部分并非都是等价的。

系统的核心就是系统的 core domain(核心域),一个有能力的管理者,能识别到哪一部分是系统的核心组成,并为它分配最好的开发人员;与此同时,对于支撑的部分来说,管理者只会分配少数的核心开发人员,只用于确保功能能按期完成。

按照 DDD 的思想来看,就是核心域、支撑域、通用域的区别。

下一节:在接触代码之前,我们可以通过一些现成的工具,来对现有的项目进行一些不评估,并通过度量来提供指标。