Pređi na sadržaj

Don't repeat yourself

S Vikipedije, slobodne enciklopedije

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 | uredi izvor]

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 | uredi izvor]

Reference[uredi | uredi izvor]

  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 | uredi izvor]

Spoljašnje veze[uredi | uredi izvor]