平台构建

2003年5月18日

你能用重构来构建平台吗?

这是一个常见的问题,简短的答案是,是的,重构在构建平台时非常有用。但涉及的问题取决于平台的生命周期状态,尤其是你构建平台所使用的方法。

提出这个问题的人通常会想到,平台用户需要一个稳定的接口来进行操作。任何对接口的更改都可能产生严重的连锁反应。在我的术语中,平台通常具有一个已发布的接口。已发布的接口通常是重构的痛点,因为任何更改已发布接口的重构都会变得更加困难。

这不太成为问题的原因之一是,你可能对平台进行的许多重构都不会影响已发布的接口。在非发布边界内,你可以自由地进行重构。遗憾的是,语言通常不允许你非常清晰地标记已发布的接口,因此你通常需要做一些额外的工作来为你的接口设置一个适当的已发布部分。

平台风格

重构的作用与你构建平台的方式密切相关。许多人都有基础平台的概念。在这种情况下,你必须尽快修复并发布你的 API,这意味着由于上面提到的限制,重构的用处较小。

基础平台不一定是最好的选择。我见过很多用这种方式构建平台的失败案例。我认为收获平台是一个更好的选择,而重构在构建收获平台非常有用。