fbpx
维基百科

一次且仅一次

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

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

起源

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

DRYWET

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

WET大致能分成4種:[2][3]

  1. Imposed duplication:開發者認為不得不的重複
  2. Inadvertent duplication:開發者沒有意識到的重複
  3. Impatient duplication:開發者複製自己或他人的程式碼造成的重複
  4. Interdeveloper duplication:不同開發者間共同開發或交接造成的重複

有時,為了可讀性,或避免耦合,或過早重構,應放棄DRY原則。[3]

参考文献

  1. ^ Hunt, Andrew; Thomas, David. . Addison-Wesley Professional. 1999-10-30 [2021-09-26]. ISBN 978-0-201-61622-4. (原始内容存档于2021-09-26). 
  2. ^ Poudel, Prakash. . Prakash. 2015-10-01 [2021-09-26]. (原始内容存档于2021-09-26) (英语). 
  3. ^ 3.0 3.1 林奇璇, ShawnL. . 璇之又璇的網路世界. 2020-04-06 [2021-09-26]. (原始内容存档于2021-09-26) (中文(臺灣)). 
  • Kent BeckExtreme Programming Explained一书。
  • 《设计模式精解》第二版第10章。
  • WikiWikiWeb关于本原则的解释 (页面存档备份,存于互联网档案馆

一次且仅一次, 此條目需要精通或熟悉计算机科学的编者参与及协助编辑, 2021年9月26日, 請邀請適合的人士改善本条目, 更多的細節與詳情請參见討論頁, 另見其他需要计算机科学專家關注的頁面, 英語, once, only, once, 简称oaoo, 又稱為don, repeat, yourself, 不要重复你自己, 简称dry, 或一个规则, 实现一次, rule, place, 是面向对象编程中的基本原则, 程序员的行事准则, 旨在软件开发中, 减少重复的信息, 的原则是, 系统中的每一部分, 都必须有一. 此條目需要精通或熟悉计算机科学的编者参与及协助编辑 2021年9月26日 請邀請適合的人士改善本条目 更多的細節與詳情請參见討論頁 另見其他需要计算机科学專家關注的頁面 一次且仅一次 英語 Once and only once 简称OAOO 又稱為Don t repeat yourself 不要重复你自己 简称DRY 或一个规则 实现一次 One rule one place 是面向对象编程中的基本原则 程序员的行事准则 旨在软件开发中 减少重复的信息 DRY 的原则是 系统中的每一部分 都必须有一个单一的 明确的 权威的代表 指的是 由人编写而非机器生成的 代码和测试所构成的系统 必须能够表达所应表达的内容 但是不能含有任何重复代码 当DRY 原则被成功應用時 一个系统中任何单个元素的修改都不需要與其逻辑无关的其他元素發生改變 此外 與之逻辑上相关的其他元素的變化均爲可预见的 均匀的 並如此保持同步 起源 编辑其起源已经不可考 一般认为这个原则最初由Andy Hunt 和Dave Thomas 在他们的书The Pragmatic Programmer 英语 The Pragmatic Programmer 1 中提出 因为极限编程方法的创始者之一肯特 贝克总结和宣传而使其广为人知 DRY 與WET 编辑违反DRY 原則的解決方案通常被称为WET 其有多种全称 包括 Write everything twice 把每個東西寫兩次 We enjoy typing 我们就是喜欢打字 或 Waste everyone s time 浪费大家的时间 WET 大致能分成4種 2 3 Imposed duplication 開發者認為不得不的重複 Inadvertent duplication 開發者沒有意識到的重複 Impatient duplication 開發者複製自己或他人的程式碼造成的重複 Interdeveloper duplication 不同開發者間共同開發或交接造成的重複有時 為了可讀性 或避免耦合 或過早重構 應放棄DRY原則 3 参考文献 编辑 Hunt Andrew Thomas David The Pragmatic Programmer Addison Wesley Professional 1999 10 30 2021 09 26 ISBN 978 0 201 61622 4 原始内容存档于2021 09 26 Poudel Prakash Four Types of Duplication in Source Code Prakash 2015 10 01 2021 09 26 原始内容存档于2021 09 26 英语 3 0 3 1 林奇璇 ShawnL 程式設計心法 避免重複原則 DRY principle 璇之又璇的網路世界 2020 04 06 2021 09 26 原始内容存档于2021 09 26 中文 臺灣 Kent Beck 的Extreme Programming Explained 一书 设计模式精解 第二版第10章 WikiWikiWeb关于本原则的解释 页面存档备份 存于互联网档案馆 取自 https zh wikipedia org w index php title 一次且仅一次 amp oldid 71716101, 维基百科,wiki,书籍,书籍,图书馆,

文章

,阅读,下载,免费,免费下载,mp3,视频,mp4,3gp, jpg,jpeg,gif,png,图片,音乐,歌曲,电影,书籍,游戏,游戏。