Don't repeat yourself

Don't repeat yourself (DRY) je princip u razvoju softvera[1] koji ima za cilj smanjenje duplikata softverskih proizvoda, zamenjujući ih apstrakcijama ili korišćenjem normalizacije podataka.

Princip DRY navodi da „svako znanje mora imati jedinstvevnu, nedvosmislenu, autoritativnu zastupljenost u sistemu”. Princip su formulisali Endi Hant i Dejv Tomas u njihovoj knjizi Pragmatični programer.[2].Oni ga naširoko primenjuju tako što uključe „šeme baza podataka, planove ispitivanja, bildovanje sistema, pa čak i dokumentaciju”.[3] Usprešnom primenom ovog principa, modifikacija bilo kog elementa sistema neće uticati na neki drugi logički ne povezan element. Međutim, elementi koji su povezani se predvidivo i jednolično menjaju, pa se na taj način sinhronizuju. Pored toga što koriste metode i podrutine u svom kodu, Endi Hant i Dejv Tomas se oslanjaju na generatore koda , sisteme automatske izrade i skriptne jezike kako bi poštovali princip DRY u više slojeva.

DRY i WET rešenja

uredi

Kršenja principa DRY se obično nazivaju WET rešenja, koja se mogu opisati kao „pišite svaki put (eng. write every time)”, „napišite sve dva puta (eng. write everything twice)”, „uživamo u kucanju (eng. we enjoy typing)”. WET rešenja su česta u višeslojnim arhitekturama gde programer može imati zadatak, na primer, dodavanje polja za komentar na formu u veb aplikaciji. Tekstualni komentar može biti ponovljen u tabeli, HTML tagu, u nazivu funkcije za čitanje, privatnoj promenljivoj, DDL baѕi podataka, upitima. DRY pristup eliminiše tu suvišnost koristeći okvire koji uklanjaju ili smanjuju sve one zahteve za promenama osim onih najvažnijih, ostavljajući slobodnu mogućnost dodavanja noih promenljivih znanja na jednom mestu.[4][5][6]

Vidi još

uredi

Reference

uredi
  1. ^ Foote, Steven (2014). Learning to Program. Addison-Wesley Professional. str. 336. ISBN 9780133795226. 
  2. ^ Hunt, Andrew; Thomas, David (1999). The Pragmatic Programmer : From Journeyman to Master (1 ed.). USA: Addison-Wesley. str. 320. ISBN 978-0201616224. 
  3. ^ Dave, Thomas interviewed by Bill Venners (2003-10-10). „"Orthogonality and the DRY Principle". Pristupljeno 2020-06-26. 
  4. ^ Justin, Lee (2006-03-08). „"DRY is for losers". Arhivirano iz originala 01. 01. 2017. g. Pristupljeno 2020-06-26.  Nevalidan unos |dead-url=dead (pomoć)
  5. ^ Papadimoulis, Alex (2011-12-08). „"The WET Cart". Pristupljeno 2020-06-26. 
  6. ^ Greer, Kevin (2016-02-05). „"FOAM DRY + WET". Pristupljeno 2020-06-26. 

Dodatna literatura

uredi

Spoljašnje veze

uredi