编写易于删除的代码 - ploeh


如何编写易于更改的代码?朝更方便地删除代码方向努力。

“您可以删除部分而不重写其他部分的系统通常称为松散耦合” - 特福

你会认为删除代码是世界上最简单的事情,但事实并非如此。

想象一个代码库,其中的依赖图如下所示:

当你有一个如上图所示的纠结的网络时,大部分的代码是与其他部分耦合的。如果你删除一个节点,那么你就会破坏其他东西。

如果您的依赖图看起来像这样,您至少可以删除每个“孤岛”而不影响其他子图:

耦合是代码组织的关键因素。紧密耦合的代码很难改变。松散耦合的代码更容易更改。
作为一个思想实验,想想删除一段特定的代码会有多困难。删除代码越容易,耦合度就越低。

删除一小段代码以添加新代码代替它是最终的改变。你通常可以通过不太激进的编辑来解决问题,但如果所有其他方法都失败了,请删除部分代码库并重新开始。代码的耦合度越低,更改就越容易。