一次且仅一次

✍ dations ◷ 2025-10-20 09:53:54 #编程典范,计算机编程

一次且仅一次(英语:Once and only once,简称OAOO)又称为Don't repeat yourself(不要重复你自己,简称DRY)或一个规则,实现一次(One rule, one place)是面向对象编程中的基本原则,程序员的行事准则。旨在软件开发中,减少重复的信息。

DRY的原则是“系统中的每一部分,都必须有一个单一的、明确的、权威的代表”,指的是(由人编写而非机器生成的)代码和测试所构成的系统,必须能够表达所应表达的内容,但是不能含有任何重复代码。当DRY原则被成功应用时,一个系统中任何单个元素的修改都不需要与其逻辑无关的其他元素发生改变。此外,与之逻辑上相关的其他元素的变化均为可预见的、均匀的,并如此保持同步。

其起源已经不可考,一般认为这个原则最初由Andy Hunt和Dave Thomas在他们的书The Pragmatic Programmer中提出。因为极限编程方法的创始者之一肯特·贝克总结和宣传而使其广为人知。

违反DRY原则的解决方案通常被称为WET,其有多种全称,包括“Write everything twice”(把每个东西写两次)、“We enjoy typing”(我们就是喜欢打字)或“Waste everyone's time”(浪费大家的时间)。

相关

  • 淡水湖淡水湖是指以淡水形式积存在地表上的湖泊,有封闭式和开放式两种。封闭式的淡水湖大多位于高山或相当内陆区域,没有明显的河川流入和流出。开放式的则可能相当大,湖中有岛屿,并有
  • 支持向量机在机器学习中,支持向量机(英语:support vector machine,常简称为SVM,又名支持向量网络)是在分类与回归分析中分析数据的监督式学习模型与相关的学习算法。给定一组训练实例,每个训
  • 农具农具是农业生产中使用的工具。
  • OPERA实验室OPERA(英语:Oscillation Project with Emulsion-tRacking Apparatus)是一项旨在检测中微子振荡现象的实验。此项实验运用位于瑞士日内瓦的欧洲核子研究组织超级质子同步加速器
  • 氦的同位素氦(原子量:4.002602)共有8个已知同位素,其中有2个同位素是稳定的,分别是4He和3He,其中3He丰度很少,只有0.000137% 。氦-3,是氦的同位素之一,元素符号为3He。它的原子核由二颗质子和一
  • 万向接头万向接头(英语:universal joint)又称万向节,是连接两根刚杆的接头,接头由一对相对方位为 90° 的普通铰链组成,使刚杆能转向往任何方向,现在仍广泛应用于车辆的传动装置中。主要概
  • 拉科·塔卡斯拉科·塔卡斯(捷克语:Laco Takács;1996年7月15日-)是一位捷克足球运动员。在场上的位置是后卫。他现在效力于捷克足球甲级联赛球队特普利采足球俱乐部。他也代表捷克U21国家队参
  • 考马斯亮蓝考马斯亮蓝(Coomassie Brilliant Blue)是两种三苯甲烷衍生物染料(G-250和R-250)的统称,起初开发用于纺织行业,但现在通常用于分析生物化学中的蛋白质染色。考马斯亮蓝G-250比考马
  • 米可斯泰特卡尔洛·米可斯泰特(Carlo Michelstaedter,1887年6月3日-1910年10月17日),意大利哲学家,其代表作为《雄辩与修辞》(),后自杀身亡。
  • GRB 090429BGRB 090429B是由雨燕卫星于2009年4月29日在猎犬座探测到的伽玛射线暴(gamma-ray burst,GRB),这也是当天探测到的第二个伽玛射线暴。它的持续时间为约5秒钟,可能是由一颗质量大概