代码重复比错误的抽象成本更低
大多数开发者很早就学习了 DRY 原则。即“不要重复自己”(Do Not Repeat Yourself)。
这条规则很有道理。它能减少错误并节省时间。
但许多开发者对这条规则执行得过于严格。他们试图将所有内容都合并到一个函数或类中。这会导致过度设计。
当你强行将两段不同的逻辑合并到一个抽象层时,你就会制造问题。你增加了复杂性,并使代码变得难以阅读。
错误的抽象比少量的代码重复代价更高。
如果你重复了代码,你确切地知道逻辑所在的位置。如果你需要修改其中一部分,只需在那里修改即可。
如果你使用了一个糟糕的抽象,你必须修改所有与之关联的内容。你可能会面临破坏那些与当前任务毫无关系的功能的风险。
遵循以下规则以确保安全:
- 针对当前任务编写代码。
- 在进行抽象之前,等待模式出现三次。
- 优先考虑可读性,而不是为了节省几行代码。
- 接受适度的重复是健康的。
不要再试图让每一行代码都完美无缺。专注于让你的代码易于修改。