Don't repeat yourself (DRY) је принцип у развоју софтвера[1] који има за циљ смањење дупликата софтверских производа, замењујући их апстракцијама или коришћењем нормализације података.

Принцип DRY наводи да „свако знање мора имати јединствевну, недвосмислену, ауторитативну заступљеност у систему”. Принцип су формулисали Енди Хант и Дејв Томас у њиховој књизи Прагматични програмер.[2].Они га нашироко примењују тако што укључе „шеме база података, планове испитивања, билдовање система, па чак и документацију”.[3] Успрешном применом овог принципа, модификација било ког елемента система неће утицати на неки други логички не повезан елемент. Међутим, елементи који су повезани се предвидиво и једнолично мењају, па се на тај начин синхронизују. Поред тога што користе методе и подрутине у свом коду, Енди Хант и Дејв Томас се ослањају на генераторе кода , системе аутоматске израде и скриптне језике како би поштовали принцип DRY у више слојева.

DRY и WET решења

уреди

Кршења принципа DRY се обично називају WET решења, која се могу описати као „пишите сваки пут (енг. write every time)”, „напишите све два пута (енг. write everything twice)”, „уживамо у куцању (енг. we enjoy typing)”. WET решења су честа у вишеслојним архитектурама где програмер може имати задатак, на пример, додавање поља за коментар на форму у веб апликацији. Текстуални коментар може бити поновљен у табели, HTML тагу, у називу функције за читање, приватној променљивој, DDL баѕи података, упитима. DRY приступ елиминише ту сувишност користећи оквире који уклањају или смањују све оне захтеве за променама осим оних најважнијих, остављајући слободну могућност додавања ноих променљивих знања на једном месту.[4][5][6]

Види још

уреди

Референце

уреди
  1. ^ Foote, Steven (2014). Learning to Program. Addison-Wesley Professional. стр. 336. ISBN 9780133795226. 
  2. ^ Hunt, Andrew; Thomas, David (1999). The Pragmatic Programmer : From Journeyman to Master (1 ed.). USA: Addison-Wesley. стр. 320. ISBN 978-0201616224. 
  3. ^ Dave, Thomas interviewed by Bill Venners (2003-10-10). „"Orthogonality and the DRY Principle". Приступљено 2020-06-26. 
  4. ^ Justin, Lee (2006-03-08). „"DRY is for losers". Архивирано из оригинала 01. 01. 2017. г. Приступљено 2020-06-26.  Невалидан унос |dead-url=dead (помоћ)
  5. ^ Papadimoulis, Alex (2011-12-08). „"The WET Cart". Приступљено 2020-06-26. 
  6. ^ Greer, Kevin (2016-02-05). „"FOAM DRY + WET". Приступљено 2020-06-26. 

Додатна литература

уреди

Спољашње везе

уреди
  NODES