代码审查与质量
DRY原则(不要重复自己)
一种软件开发原则,规定系统中的每一条知识都应该有一个单一的、权威的表示。
定义
DRY由Andy Hunt和Dave Thomas在《程序员修炼之道》中提出。它不仅仅是避免复制粘贴代码——而是避免知识和意图的重复。当逻辑被复制时,必须在多个地方进行更改,增加了bug的风险。实现DRY的常用技术:函数/方法、类、模块、模板和代码生成。然而,过早的抽象可能比一些重复更糟糕——关键是平衡。
为什么重要
DRY违规(WET代码——"Write Everything Twice")使维护变得昂贵且容易出错。研究表明,重复代码的缺陷率高50%,因为修复通常被不一致地应用。
示例
WET代码:邮箱格式验证逻辑被复制到5个不同的表单处理器中。DRY解决方案:提取validateEmail(email)函数供所有处理器使用。
相关术语
DRYdont repeat yourselfDRY principlecode duplicationavoid duplication