Don’t Repeat Yourself (DRY) -periaatteen mukaan logiikassa esiintyvä päällekkäisyys tulisi poistaa abstrahoimalla; prosessissa esiintyvä päällekkäisyys tulisi poistaa automatisoimalla. Päällekkäisyys on jätettä. Ylimääräisen, tarpeettoman koodin lisääminen koodipohjaan lisää työmäärää, joka vaaditaan ohjelmiston laajentamiseen ja ylläpitoon tulevaisuudessa. Kaksinkertainen koodi lisää teknistä velkaa. Riippumatta siitä, johtuuko päällekkäisyys Copy Paste -ohjelmoinnista vai huonosta ymmärryksestä siitä, miten abstraktiota sovelletaan, se heikentää koodin laatua. Prosessissa tapahtuva päällekkäisyys on myös jätettä, jos se voidaan automatisoida. Manuaalinen testaus, manuaaliset rakennus- ja integraatioprosessit jne. tulisi poistaa aina kun se on mahdollista automaation avulla.

Epäilyttävät ehtolausekkeet

Usein if-then- ja switch-lausekkeilla on tapana olla päällekkäisiä useissa paikoissa sovelluksessa. Suojatuissa sovelluksissa on yleistä, että tietyissä rooleissa olevilla käyttäjillä on käytettävissään erilaisia toimintoja, joten koodi voi olla täynnä if-user-is-in-role -tarkistuksia. Toisia sovelluksia on saatettu laajentaa käsittelemään useita samankaltaisia mutta erityyppisiä tietorakenteita, ja switch()-lausekkeita on käytetty työnkulun kaikilla tasoilla kuvaamaan eroja kunkin tietorakenteen käyttäytymisessä. Mahdollisuuksien mukaan refaktoroi nämä ehtolausekkeet käyttäen tunnettuja suunnittelumalleja, jotta päällekkäisyys voidaan abstrahoida yhteen paikkaan koodipohjassa.

Kerran ja vain kerran -periaatetta voidaan pitää DRY-periaatteen osajoukkona.

Avoimeen/suljettuun periaatteeseen voidaan turvautua vain silloin, kun DRY:tä noudatetaan.

Yksittäisen vastuun periaate perustuu DRY:hen.

Vastaa

Sähköpostiosoitettasi ei julkaista.