在之前, 我们谈论了 计算机科学是什么, 我们知道了计算机科学重点在于复杂性的管理, 然后在 复杂性管理与重复性管理 里我们又谈到了复杂性一个重要来源, 也就是重复性. 软件开发的一个重要主题就是要管理重复性, 或者简单说, 减少重复.
你也许听过所谓的 DRY 原则: Don’t Repeat Yourself. 别重复(你自己)!
之前的一些都是侧重于理论方面, 现在来看一些具体地例子.
为什么用泛型以及它到底解决了什么问题? 文中用大量例子介绍了重复性管理的一些具体做法, 重点分析了泛型范式在解决重复性问题上的应用.
在之前, 我们谈论了 计算机科学是什么, 我们知道了计算机科学重点在于复杂性的管理, 然后在 复杂性管理与重复性管理 里我们又谈到了复杂性一个重要来源, 也就是重复性. 软件开发的一个重要主题就是要管理重复性, 或者简单说, 减少重复.
你也许听过所谓的 DRY 原则: Don’t Repeat Yourself. 别重复(你自己)!
之前的一些都是侧重于理论方面, 现在来看一些具体地例子.
Don’t Repeat Yourself, 不要重复你寄己~
很遗憾, 标题本身就重复了, "Don’t Repeat Yourself"与"不要重复"语义是一样的, 但是是两种不同语言的实现. (英文和中文~)
在软件开发的实践中, 有许多的原则与模式, 如果挑选其中一些最为重要的出来, DRY 可算一个.
DRY 意为"Don’t Repeat Yourself", 简单讲就是"不要重复", 可以这么说, 管理重复性是软件开发活动中极为重要的一项内容.
在计算机科学中, 复杂性管理是最重要的一个主题, 而复杂性的一个重要来源就是从一个个看似简单不起眼的重复开始的.
我们经常说"量变导致质变", 确实, 只是有最后一根稻草是不足以压垮骆驼的, 它一定是一个累积的效果.
It is the last straw that breaks the camel's back, 压垮骆驼的最后一根稻草常常作为最终的背锅侠出现, 有个笑话说"一个饿汉吃到第三个饼才吃饱, 然后后悔自己花钱买了前两个饼..."
哪怕是简单的重复, 积累起来也会形成巨大的复杂性, 最终导致事态失控.
为此, 我们要在最开始的实践中就要注重消除出现的重复, DRY 原则初看来似乎很简单, 但展开之后我们会发现, 有相当多的实践都与这一原则有莫大关系.
我一向不喜欢抽象的去说理, 但展开讲的话, 单单这一个篇幅是不够的, 这里只作为一个引子, 在后面, 我会举出很多具体的事例与实践来论证这一点.