Don't repeat yourself

Матеріал з Вікіпедії — вільної енциклопедії.
Перейти до: навігація, пошук

DRY (англ. Don't Repeat Yourself — «не повторюй себе, не повторюйся») — це принцип розробки програмного забезпечення, який спрямований на зниження повторення інформації всіх видів, особливо в багаторівневих архітектурах. Принцип DRY звучить так: "Кожен шматочок знання повинен мати одне однозначне, авторитетне представлення в системі." Цей принцип був сформульований Енді Хантом і Дейвом Томасом в книзі «The Pragmatic Programmer» («Прагматичний програміст»). Вони застосовували цей принцип до «схем баз даних, планів тестування, побудови систем, навіть до документації»[1]. Коли принцип DRY застосовується успішно, зміна єдиного елемента системи не вимагає внесення змін до інших, логічно не пов'язаних, елементів. Ті елементи, які логічно пов'язані, змінюються передбачувано і одноманітно. Крім використання методів і функцій в коді, Томас і Хант вважають за необхідне використання генераторів коду та автоматичних систем компіляції.

Застосування принципу DRY[ред.ред. код]

Принцип DRY, відомий також як Single Source of Truth (Єдине джерело правди), переважає в системах Model Driven Architecture, в яких артефакти програми витягуються з головної моделі об'єкта і виражаються в такій формі, як UML. Код, написаний за принципом DRY, створюється за допомогою конвертації даних і генераторів коду, які дозволяють розробнику програмного забезпечення уникнути операцій вирізання, копіювання і вставки. Зазвичай код, написаний за цим принципом, дозволяє легше керувати великими інформаційними системами. Такі інструменти, як XDoclet і XSLT є прикладами технік програмування DRY. Прикладами систем, які вимагають дублювання інформації, є Enterprise Java Beans (2 версія), яка вимагає не тільки дублювання в коді Java, але і в файлах конфігурації. Прикладами систем, в яких зроблена спроба усунути дублювання інформації, є веб-фреймворки Symfony, web2py, Yii, Django, Ruby on Rails а також середовища розробки Visual Studio LightSwitch і Enterprise Java Beans (3 версія).

DRY і WET[ред.ред. код]

Порушення принципу DRY називають WET — «Write Everything Twice» (укр. «Пиши все по два рази»)[2]. Це гра англійських слів «DRY» (укр. «сухий») і «WET» (укр. «вологий, мокрий»). Загалом дублювання коду може здійснюватися не тільки двічі, але й набагато більше разів тому порушення WET перетворюється на «Write Everything Ten Thousand Times» (укр. «Пиши все десять тисяч разів»).

Див. також[ред.ред. код]

Посилання[ред.ред. код]

Джерела[ред.ред. код]

Примітки[ред.ред. код]

  1. Інтерв'ю Дейва Томаса (10.10.2003) 'Ортогональність і принцип DRY'. (англ.)
  2. Олександр Пападімуліс (12.08.2011) 'The WET Cart' (англ.)