代码重复比错误的抽象成本更低

大多数开发者很早就学习了 DRY 原则。即“不要重复自己”(Do Not Repeat Yourself)。

这条规则很有道理。它能减少错误并节省时间。

但许多开发者对这条规则执行得过于严格。他们试图将所有内容都合并到一个函数或类中。这会导致过度设计。

当你强行将两段不同的逻辑合并到一个抽象层时,你就会制造问题。你增加了复杂性,并使代码变得难以阅读。

错误的抽象比少量的代码重复代价更高。

如果你重复了代码,你确切地知道逻辑所在的位置。如果你需要修改其中一部分,只需在那里修改即可。

如果你使用了一个糟糕的抽象,你必须修改所有与之关联的内容。你可能会面临破坏那些与当前任务毫无关系的功能的风险。

遵循以下规则以确保安全:

  • 针对当前任务编写代码。
  • 在进行抽象之前,等待模式出现三次。
  • 优先考虑可读性,而不是为了节省几行代码。
  • 接受适度的重复是健康的。

不要再试图让每一行代码都完美无缺。专注于让你的代码易于修改。

来源:https://dev.to/kelvin_kariuki_20f4bec616/developer-take-on-code-duplication-is-far-cheaper-than-the-wrong-abstraction-3g0b