一次且仅一次

✍ dations ◷ 2025-02-23 14:06:51 #编程典范,计算机编程

一次且仅一次(英语: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”(浪费大家的时间)。

相关

  • 挚诚协定英法协约,又名挚诚协定(英语:Entente cordiale),是指1904年4月8日英国和法国签订的一系列协定,它标志着两国停止关于争夺海外殖民地的冲突而开始合作对抗新崛起的德国的威胁。在协
  • 地的含义有:
  • 大公大公爵是欧洲爵位的一种,来源可追溯至古罗马时期,对为罗马帝国效力,而非罗马血统的外族如日耳曼族军队的首领的称谓。在后来被引申为非王族血统,却拥有实权,对王国举足轻重的人。
  • 莫尔多瓦人莫尔多瓦人(厄尔兹亚语:эрзят/Erzyat;莫克沙语:мокшет/Mokshet;鞑靼语:мухшилар/Muhshilar;莫克沙人和厄尔兹亚人作俄语:мордва/Mordva;喀拉台人作俄语:ка
  • 亚洲鲤鱼鲤形目鲤科下的数个物种,被美国统称为亚洲鲤鱼(英文:Asian carp),亚洲鲤鱼成员有以下:以上所有物种,除了大鳞鲢之外,其他物种已在中国的水产养殖中有1000年的历史了,则大鳞鲢则是原产
  • γ-氨基丁酸γ-胺基丁酸(英语:γ-Aminobutyric acid,简称GABA,化学名称:4-胺基丁酸,又称胺酪酸、哌啶酸。广泛分布于动植物体内。植物如豆属、参属等的种子、根茎和组织液中都含有GABA。在动
  • GrW 42型81毫米迫击炮GrW 42型81毫米迫击炮(德语:kurzer 8 cm Granatwerfer 42 )是纳粹德国在第二次世界大战中使用的一种前装式滑膛迫击炮。是GrW 34型81毫米迫击炮使用短炮筒后的轻量化版本,最初计
  • 玛蕾特·阿尼玛蕾特·阿尼(爱沙尼亚语:Maret Ani,1982年1月31日-),爱沙尼亚女子职业网球选手,现在居住于爱沙尼亚塔林,生涯单打最高排名为63(2008年5月15日)。她是曾青少年的篮球冠军,她14岁开始打
  • 郭万程郭万程(?-?),字子长,福建福州福清县人,民籍,明朝政治人物。顺天府乡试第三十七名举人。嘉靖十四年(1535年)中式乙未科会试第四十五名,登第三甲第二百一十九名进士。授刑部主事,卒于官。曾
  • 安珠瑚安珠瑚(?-1686年),瓜尔佳氏,清初政治人物。满洲正黄旗人。先世居于苏完。其父阿喇穆,任牛彔额真,顺治元年(1644年)清兵入关,与李自成军作战身亡,授世职“半个前程”(即云骑尉)。安珠瑚继承