复杂性管理与重复性管理

探讨了简单重复性所带来的复杂性.

在前面我们说到了所谓的"计算机科学", 重点在于如何控制大型系统的复杂性.

复杂性本身当然也是个很大的话题, 而一种常见的复杂性的来源则是重复性, 即是由不断的重复所带来的复杂性.

重复性带来的复杂性常被人忽视, 大概是因为一开始它是不起眼的, 而当人们意识到它的存在时可能已经陷入了泥潭.

继续阅读

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 原则初看来似乎很简单, 但展开之后我们会发现, 有相当多的实践都与这一原则有莫大关系.

我一向不喜欢抽象的去说理, 但展开讲的话, 单单这一个篇幅是不够的, 这里只作为一个引子, 在后面, 我会举出很多具体的事例与实践来论证这一点.