《C++代码整洁之道:C++17 可持续软件开发模式实践》 —3.4 避免复制原则(DRY)
【摘要】 本节书摘来自华章计算机《C++代码整洁之道:C++17 可持续软件开发模式实践》 一书中第3章,第3.4节,作者是[德]斯蒂芬·罗斯(Stephan Roth),连少华 郭发阳 陈涛 译。
3.4 避免复制原则(DRY)
复制和粘贴是一个设计错误。
—David L. Parnas
虽然这个原则是最重要的,但我确信开发人员经常有意或无意地违反这个原则。DRY是“Don抰 repeat yourself! ”的缩写。我们应该尽可能避免复制,因为复制是一个非常不好的行为。该原则也称为“Once And Only Once”(OAOO)原则。
复制是非常危险的,其原因显而易见:当一段代码被修改的时候,也必须相应地修改这段代码的副本,不要抱着不修改副本的期望,可以肯定的是,一定要修改副本。任何复制的代码片段迟早会被忘记,并且,会因为漏改代码的副本而产生bug。
就这样,没什么别的了吗?不是的,还有一些需要我们深入讨论的事情。
在Dave Thomas和Andy Hunt的出色的著作《The Pragmatic Programmer》[Hunt99]中陈述了DRY原则的含义,就是我们要保证“在一个系统内部,任何一个知识点都必须有一个单一的、明确的、权威的陈述。”值得注意的是,Dave和Andy并没有明确地提到代码,他们谈论的是知识点。一个系统的知识所影响的范围远比它的代码更广泛。例如,DRY原则同样也适用于文档、项目、测试计划和系统的配置数据。可以说,DRY原则影响了每一件事情!你可以想象一下,严格遵守这一原则并不像起初看起来那么容易。
【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
评论(0)