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

Застосування DRYРедагувати

Модель-орієнтовані системиРедагувати

Також відомий в англомовних джерелах як «Single Source of Truth», цей принцип домінує в модель-орієнтованих архітектурах (model-driven architecture), в яких програмні артефакти продукуються від моделей проблемної області, які виражені, наприклад, в діаграмах UML. Подібні системи використовують системи автоматичної генерації коду та конвертації даних з моделі, що дозволяють розробнику уникнути copy-paste (англ. копіювання-вставка) операцій і не повторювати себе. Завдяки цьому, принцип DRY робить обслуговування великих програмних систем простішим.

ПрикладиРедагувати

Програма генерації коду XDoclet є гарним прикладом реалізації принципу DRY. Ця програма допомагає писати код для Java EE (в тому числі, веб-сервісів та портлетів), беручи на себе генерацію шаблонного коду.

DRY і WETРедагувати

Порушення принципу DRY жартома називають WET — «write everything twice» (укр. «пиши все по два рази») та «ми любимо друкувати» (англ. we enjoy typing)[2]. Це гра англійських слів «dry» (укр. «сухий») і «wet» (укр. «вологий, мокрий»). Загалом, дублювання коду може здійснюватися не тільки двічі, але й набагато більше разів, тому порушення DRY перетворюється на «write everything ten thousand times» (укр. «пиши все десять тисяч разів»).

Див. такожРедагувати

ПосиланняРедагувати

ДжерелаРедагувати

ПриміткиРедагувати

  1. Dave Thomas, interviewed by Bill Venners (2003-10-10). Orthogonality and the DRY Principle. Процитовано 2006-12-01. 
  2. Олександр Пападімуліс (12.08.2011) 'The WET Cart' (англ.)