У програмній інженерії, «Don't repeat yourself» (DRY, укр. не повторюйся) — принцип розробки програмного забезпечення, що направлений на уникнення дублювання інформації будь-якого вигляду (наприклад, програмний код чи текст інтерфейсу користувача). Принцип був сформульований Енді Хантом та Дейвом Томасом в їх книзі The Pragmatic Programmer наступним чином: «Будь-яка інформація повинна мати єдине, однозначне, авторитетне представлення в системі». На думку авторів, принцип має застосовуватися також в «схемах баз даних, тест-планах, в системах збірки, навіть в документації». Правильне використання 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). Це гра англійських слів «dry» (укр. «сухий») і «wet» (укр. «вологий, мокрий»). Загалом, дублювання коду може здійснюватися не тільки двічі, але й набагато більше разів, тому порушення DRY перетворюється на «write everything ten thousand times» (укр. «пиши все десять тисяч разів»).
Див. також
Посилання
- Ортогональність і принцип DRY [Архівовано 29 жовтня 2012 у WebCite] (англ.)
- Don't Repeat Yourself [ 13 грудня 2010 у Wayback Machine.] (англ.)
Джерела
- Ортогональність і принцип DRY [Архівовано 29 жовтня 2012 у WebCite]
Примітки
- Dave Thomas, interviewed by Bill Venners (10 жовтня 2003). Orthogonality and the DRY Principle. Архів оригіналу за 29 жовтня 2012. Процитовано 1 грудня 2006.
- Олександр Пападімуліс (12.08.2011) 'The WET Cart' [ 2012-11-29 у Wayback Machine.] (англ.)
Вікіпедія, Українська, Україна, книга, книги, бібліотека, стаття, читати, завантажити, безкоштовно, безкоштовно завантажити, mp3, відео, mp4, 3gp, jpg, jpeg, gif, png, малюнок, музика, пісня, фільм, книга, гра, ігри, мобільний, телефон, android, ios, apple, мобільний телефон, samsung, iphone, xiomi, xiaomi, redmi, honor, oppo, nokia, sonya, mi, ПК, web, Інтернет
U programnij inzheneriyi Don t repeat yourself DRY ukr ne povtoryujsya princip rozrobki programnogo zabezpechennya sho napravlenij na uniknennya dublyuvannya informaciyi bud yakogo viglyadu napriklad programnij kod chi tekst interfejsu koristuvacha Princip buv sformulovanij Endi Hantom ta Dejvom Tomasom v yih knizi The Pragmatic Programmer nastupnim chinom Bud yaka informaciya povinna mati yedine odnoznachne avtoritetne predstavlennya v sistemi Na dumku avtoriv princip maye zastosovuvatisya takozh v shemah baz danih test planah v sistemah zbirki navit v dokumentaciyi Pravilne vikoristannya DRY dozvolyaye rozrobnikam robiti atomarni zmini v sistemi koli modifikaciya odnogo elementu sistemi ne vimagaye modifikaciyi storonnih elementiv Ti zh elementi sho mayut logichne vidnoshennya do modifikovanogo zminyuyutsya prognozovano ta odnomanitno Zastosuvannya DRYModel oriyentovani sistemi Takozh vidomij v anglomovnih dzherelah yak Single Source of Truth cej princip dominuye v model oriyentovanih arhitekturah model driven architecture v yakih programni artefakti produkuyutsya vid modelej problemnoyi oblasti yaki virazheni napriklad v diagramah UML Podibni sistemi zastosovuyut sistemi avtomatichnoyi generaciyi kodu ta konvertaciyi danih z modeli sho dozvolyayut rozrobniku uniknuti operacij copy paste angl skopiyuvati vstaviti i ne povtoryuvati sebe Zavdyaki comu princip DRY robit obslugovuvannya velikih programnih sistem prostishim Prikladi Programa generaciyi kodu XDoclet ye garnim prikladom realizaciyi principu DRY Cya programa dopomagaye pisati kod dlya Java EE v tomu chisli vebservisiv ta portletiv beruchi na sebe generaciyu shablonnogo kodu DRY i WETPorushennya principu DRY zhartoma nazivayut WET write everything twice ukr pishi vse po dva razi ta mi lyubimo drukuvati angl we enjoy typing Ce gra anglijskih sliv dry ukr suhij i wet ukr vologij mokrij Zagalom dublyuvannya kodu mozhe zdijsnyuvatisya ne tilki dvichi ale j nabagato bilshe raziv tomu porushennya DRY peretvoryuyetsya na write everything ten thousand times ukr pishi vse desyat tisyach raziv Div takozhBritva Okkama Princip YAGNI Princip KISSPosilannyaOrtogonalnist i princip DRY Arhivovano 29 zhovtnya 2012 u WebCite angl Don t Repeat Yourself 13 grudnya 2010 u Wayback Machine angl DzherelaOrtogonalnist i princip DRY Arhivovano 29 zhovtnya 2012 u WebCite PrimitkiDave Thomas interviewed by Bill Venners 10 zhovtnya 2003 Orthogonality and the DRY Principle Arhiv originalu za 29 zhovtnya 2012 Procitovano 1 grudnya 2006 Oleksandr Papadimulis 12 08 2011 The WET Cart 2012 11 29 u Wayback Machine angl