Upprepa inte dig själv

Repetera inte dig själv ( DRY ; från  engelska  -  “do not repeat yourself”) är en mjukvaruutvecklingsprincip som syftar till att minska upprepningen av information av olika slag, särskilt i system med många abstraktionslager . DRY-principen är formulerad som: "Varje kunskap måste ha en unik, konsekvent och auktoritativ representation inom systemet" [1] . Det formulerades av Andy och Thomas i deras bok Pragmatic Programmer . De tillämpade denna princip på " databasscheman, testplaner, mjukvarubyggen, till och med dokumentation " [2] . När DRY-principen tillämpas framgångsrikt, kräver ändring av ett enskilt element i systemet inte ändringar av andra, logiskt orelaterade element. De element som är logiskt relaterade förändras på ett förutsägbart och enhetligt sätt. Förutom att använda metoder och funktioner i kod anser Thomas och Hunt att det är nödvändigt att använda kodgeneratorer, automatiska kompileringssystem.

Tillämpning av DRY-principen

DRY-principen, även känd som Single Source of Truth i modelldrivna arkitektursystem där programartefakter extraheras från huvudobjektmodellen och uttrycks i en form som UML . DRY-kod skapas med hjälp av datakonvertering och kodgeneratorer som låter programutvecklaren undvika klipp, kopiera och klistra in operationer . Vanligtvis gör kod skriven enligt denna princip det lättare att hantera stora informationssystem. Verktyg som XDoclet och XSLT DRY-programmeringstekniker Exempel på system som kräver dubblering av information är Enterprise Java Beans version 2, som kräver dubblering inte bara i Java -kod utan även i konfigurationsfiler.

Exempel på system som försöker eliminera dubblering av information ärSymfony , web2py , Yii , Django , Ruby on Rails [3] [4] , Phalcon- ramverk , Visual Studio LightSwitch och Enterprise Java Beans version 3-ramverk.

TORR och VÅT

Brott mot DRY-principen kallas WET - "Skriv allt två gånger" ( rus. Skriv allt två gånger ) [5] eller "Vi tycker om att skriva" ( rus. Vi gillar att skriva ut ). Det här är en lek med de engelska orden "dry" ( Russian dry ) och "wet" ( Russian wet ).

Se även

Anteckningar

  1. Jeremy Miller. Upprepa inte dig själv-principen och maskhålets antimönster  (engelska) (22 mars 2007). Hämtad 23 augusti 2012. Arkiverad från originalet 29 oktober 2012.
  2. Dave Thomas (intervjuad av Bill Venners). Ortogonalitet och DRY-principen (eng.) (10 oktober 2003). Hämtad 23 augusti 2012. Arkiverad från originalet 29 oktober 2012.  
  3. TORK - Upprepa inte  dig själv . about.com . Hämtad 23 augusti 2012. Arkiverad från originalet 29 oktober 2012.
  4. Sam Ruby, Dave Thomas. Agil webbutveckling med Rails  (neopr.) . - Pragmatic Programmers, LLC., 2011. - S. 17.
  5. Alex Papadimoulis. The WET Cart  (engelska) (12 augusti 2011). Datum för åtkomst: 21 maj 2012. Arkiverad från originalet den 29 oktober 2012.

Länkar