Gentag ikke dig selv

Gentag ikke dig selv ( DRY ; fra  engelsk  -  "do not repeat yourself") er et softwareudviklingsprincip , der har til formål at reducere gentagelsen af ​​information af forskellig art, især i systemer med mange abstraktionslag . DRY-princippet er formuleret som: "Hvert stykke viden skal have en unik, konsekvent og autoritativ repræsentation i systemet" [1] . Det blev formuleret af Hunt Dave Thomas i deres bog Pragmatic Programmer . De anvendte dette princip på " databaseskemaer , testplaner, softwarebuilds, endda dokumentation " [2] . Når DRY-princippet anvendes med succes, kræver ændring af et enkelt element i systemet ikke ændringer til andre, logisk ikke-relaterede elementer. De elementer, der er logisk relaterede, ændrer sig på en forudsigelig og ensartet måde. Udover at bruge metoder og funktioner i kode, anser Thomas og Hunt det for nødvendigt at anvende kodegeneratorer, automatiske kompileringssystemer.

Anvendelse af DRY-princippet

DRY-princippet, også kendt som Single Source of Truth i modeldrevne arkitektursystemer , hvor programartefakter uddrages fra hovedobjektmodellen og udtrykkes i en form som UML . DRY-kode er oprettet ved hjælp af datakonvertering og kodegeneratorer, der gør det muligt for softwareudvikleren at undgå klip-, kopierings- og indsættelsesoperationer . Normalt gør kode skrevet efter dette princip det nemmere at styre store informationssystemer. Værktøjer som XDoclet og XSLT DRY-programmeringsteknikker Eksempler på systemer, der kræver kopiering af information, er Enterprise Java Beans version 2, som kræver duplikering ikke kun i Java -kode, men også i konfigurationsfiler.

Eksempler på systemer, der forsøger at eliminere duplikering af information erSymfony , web2py , Yii , Django , Ruby on Rails [3] [4] , Phalcon frameworks , Visual Studio LightSwitch og Enterprise Java Beans version 3 frameworks.

TØR og VÅD

Overtrædelser af DRY-princippet kaldes WET - "Skriv alt to gange" ( rus. Skriv alt to gange ) [5] eller "Vi nyder at skrive" ( rus. Vi kan godt lide at udskrive ). Dette er en leg med de engelske ord "dry" ( russisk tør ) og "våd" ( russisk våd ).

Se også

Noter

  1. Jeremy Miller. Gentag ikke dig selv-princippet og ormehuls-anti-mønsteret  (engelsk) (22. marts 2007). Hentet 23. august 2012. Arkiveret fra originalen 29. oktober 2012.
  2. Dave Thomas (interviewet af Bill Venners). Ortogonalitet og DRY-princippet (eng.) (10. oktober 2003). Hentet 23. august 2012. Arkiveret fra originalen 29. oktober 2012.  
  3. TØRT - Gentag ikke  dig selv . about.com . Hentet 23. august 2012. Arkiveret fra originalen 29. oktober 2012.
  4. Sam Ruby, Dave Thomas. Agil webudvikling med skinner  (neopr.) . - Pragmatic Programmers, LLC., 2011. - S. 17.
  5. Alex Papadimoulis. The WET Cart  (engelsk) (12. august 2011). Dato for adgang: 21. maj 2012. Arkiveret fra originalen 29. oktober 2012.

Links