代码复用为何总是走向反面:从DRY原则到抽象泄漏的四十年工程困境

2020年初,React核心团队成员Dan Abramov在深夜完成了一次"完美"的重构。他看到同事实现的图形编辑器代码中存在大量重复——每种形状(矩形、椭圆、文本框)的缩放逻辑都包含相似的数学运算。作为一个追求简洁的程序员,他花了几个小时将这些重复代码抽象成一个优雅的组合系统,代码量减少了一半,所有重复都消失了。 ...

10 min · 4637 words