一次且僅一次
| 此條目已列出參考文獻,但因為沒有文內引註而使來源仍然不明。 (2015年6月21日) |
一次且僅一次(英語: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編輯
違反DRY原則的解決方案通常被稱為WET,其有多種全稱,包括「Write everything twice」(把每個東西寫兩次)、「We enjoy typing」(我們就是喜歡打字)或「Waste everyone's time」(浪費大家的時間)。
參考文獻編輯
- Kent Beck的Extreme Programming Explained一書。
- 《設計模式精解》第二版第10章。
- WikiWikiWeb關於本原則的解釋