一次且僅一次

一次且僅一次(英語:Once and only once,簡稱OAOO)又稱為Don't repeat yourself(不要重複你自己,簡稱DRY)或一個規則,實現一次One rule, one place)是物件導向程式設計中的基本原則,程式設計師的行事準則。旨在軟體開發中,減少重複的資訊。

DRY的原則是「系統中的每一部分,都必須有一個單一的、明確的、權威的代表」,指的是(由人編寫而非機器生成的)代碼和測試所構成的系統,必須能夠表達所應表達的內容,但是不能含有任何重複代碼。當DRY原則被成功應用時,一個系統中任何單個元素的修改都不需要與其邏輯無關的其他元素發生改變。此外,與之邏輯上相關的其他元素的變化均爲可預見的、均勻的,並如此保持同步。

起源編輯

其起源已經不可考,一般認為這個原則最初由Andy HuntDave Thomas在他們的書The Pragmatic Programmer中提出。因為極限編程方法的創始者之一肯特·貝克總結和宣傳而使其廣為人知。

DRYWET編輯

違反DRY原則的解決方案通常被稱為WET,其有多種全稱,包括「Write everything twice」(把每個東西寫兩次)、「We enjoy typing」(我們就是喜歡打字)或「Waste everyone's time」(浪費大家的時間)。

參考文獻編輯