Skip to content

CTH Bazaar

Blog

Menu
Menu

DRY vs WET Code

Posted on 27 prosince, 2021 by admin
John Long

Follow

12. listopadu, 2017 – 3 minuty čtení

Suché, mokré, horké, studené. To jsou přece jen slova, ne? Jsem tu, abych vám řekl, že mohou být něčím víc.

Art by Noah Bradley

Většina, ne-li všichni programátoři jistě slyšeli o pojmech DRY a WET, které se týkají kódu. Pojďme však nejprve prohlásit, co tyto zkratky znamenají, aby nikdo nebyl špatně informován.

DRY – Don’t Repeat Yourself

WET – Write Everything Twice

Přemýšlejte chvíli… Která zkratka zní jako lepší postup při kódování? Pokud vás vaše tušení postrčilo k DRY, měli byste pravdu. No, v 90 % případů.

Jako programátor usilujete o to, aby váš kód byl DRY, tedy aby se neopakoval, což je obecně nejlepší postup. Jsou však případy, kdy vám přidání trochy vlhkosti do kódu může usnadnit život.

Nejprve se podívejme na příklad každého z nich.

Tady je ukázka, jak vypadá kód WET: (

class John
def build(n)
n + 1
end def destroy(n)
n - 1
end
end class Peter
def build(n)
n + 1
end
end

Všimli jste si místa Write Everything Twice?

V tomto případě mají obě třídy, John & Peter, možnost používat metodu build. Pokud bychom však v budoucnu chtěli provést změnu v metodě build, museli bychom ji provést dvakrát, a to na každém místě, kde je metoda build použita.

Na druhou stranu, pokud by byl kód DRY, museli bychom tuto změnu provést pouze jednou. V tomto případě by použití modulu mohlo pomoci udržet náš kód DRY:

module Builder
def build(n)
n + 1
end
endclass John
include Builder def destroy(n)
n - 1
end
endclass Peter
include Builder
end

Použití modulu umožňuje oběma třídám možnost sestavení. A John si samozřejmě stále zachovává svou metodu destroy.

Udržování DRY kódové základny je nejvíce užitečné tam, kde předpokládáte poměrně časté změny. Mít DRY kód znamená, že tyto změny musíte provést pouze v jedné nebo několika málo oblastech, a ne na všech místech, kde se tento kód může používat.

Možná nejdůležitější je, že mít DRY kód snižuje možnost vzniku chyb. Představte si, že je třeba provést změnu identického kódu na pěti různých místech, ale vy zapomenete změnit kód na jednom z těchto míst… Vidíte ten problém? Buď váš program spadne, nebo, což je možná ještě horší, použije zastaralý postup, a přitom se bude tvářit normálně.

Přesto má WET kód své přednosti. Pokud předpokládáte, že se identický kód později rozvětví různými směry, může vám WET kód tuto budoucí změnu usnadnit.

Příliš DRY kód navíc může způsobit bolest hlavy dalšímu programátorovi, který váš kód použije, což můžete být i vy. To může pramenit z provádění zdlouhavého množství logických skoků za účelem zjištění faktorů, které hrají roli v konkrétním řádku kódu.

Jak již bylo řečeno, jako obecné pravidlo platí: udržujte svůj kód DRY, lidi. Vy zítřka to oceníte.

Napsat komentář Zrušit odpověď na komentář

Vaše e-mailová adresa nebude zveřejněna. Vyžadované informace jsou označeny *

Nejnovější příspěvky

  • Podívejte se na hvězdné video k nové písni Pharrella a Jay-Zho „Entrepreneur“ inspirované hnutím BLM
  • Komanditní společnost
  • Technology Transfer
  • Bounce Energy
  • Co vlastně znamená převaha kvality nad kvantitou? 5 klíčových lekcí

Archivy

  • Leden 2022
  • Prosinec 2021
  • Listopad 2021
  • Říjen 2021
  • DeutschDeutsch
  • NederlandsNederlands
  • SvenskaSvenska
  • DanskDansk
  • EspañolEspañol
  • FrançaisFrançais
  • PortuguêsPortuguês
  • ItalianoItaliano
  • RomânăRomână
  • PolskiPolski
  • ČeštinaČeština
  • MagyarMagyar
  • SuomiSuomi
  • 日本語日本語
©2022 CTH Bazaar | Built using WordPress and Responsive Blogily theme by Superb