
Trocken, nass, heiß, kalt. Das sind doch nur Worte, oder? Ich bin hier, um Ihnen zu sagen, dass sie mehr sein können.

Die meisten, wenn nicht alle Programmierer werden von den Begriffen DRY und WET gehört haben, da sie sich auf Code beziehen. Aber lassen Sie uns zunächst erklären, wofür diese Akronyme stehen, damit niemand schlecht informiert ist.
DRY – Don’t Repeat Yourself
WET – Write Everything Twice
Nehmen Sie sich eine Sekunde Zeit, um darüber nachzudenken… welches Akronym klingt, als wäre es die bessere Programmierpraxis? Wenn Ihr Gefühl Sie in Richtung DRY stupst, dann liegen Sie richtig. Nun, in 90 % der Fälle.
Als Programmierer ist es in der Regel die beste Praxis, sich zu bemühen, den Code DRY zu halten, d.h. ihn nicht zu wiederholen. Aber es gibt Zeiten, in denen ein wenig Feuchtigkeit im Code das Leben ein wenig einfacher machen kann.
Lassen Sie uns zuerst einen Blick auf ein Beispiel von beiden werfen.
Hier ist, wie etwas WET-Code aussieht: (unter Verwendung von Ruby)
class John
def build(n)
n + 1
end def destroy(n)
n - 1
end
end class Peter
def build(n)
n + 1
end
end
Haben Sie die „Write Everything Twice“-Punkte entdeckt?
In diesem Fall haben beide Klassen, John & Peter, die Möglichkeit, die Build-Methode zu verwenden. Wenn jedoch in Zukunft eine Änderung an der Build-Methode vorgenommen werden soll, muss sie zweimal durchgeführt werden, und zwar an jeder Stelle, an der die Build-Methode verwendet wird.
Wäre der Code hingegen trocken, müssten wir diese Änderung nur einmal vornehmen. In diesem Fall könnte die Verwendung eines Moduls dazu beitragen, unseren Code DRY zu halten:
module Builder
def build(n)
n + 1
end
endclass John
include Builder def destroy(n)
n - 1
end
endclass Peter
include Builder
end
Die Verwendung eines Moduls ermöglicht es beiden Klassen, zu bauen. Und natürlich behält John seine Destroy-Methode bei.
Die Codebasis DRY zu halten, ist vor allem dort hilfreich, wo man mit häufigen Änderungen rechnet. DRY-Code bedeutet, dass Sie diese Änderungen nur in einem oder wenigen Bereichen vornehmen müssen und nicht an allen Stellen, an denen dieser Code verwendet werden könnte.
Vielleicht am wichtigsten ist, dass DRY-Code die Fehleranfälligkeit verringert. Stellen Sie sich vor, Sie müssen eine Änderung am identischen Code an fünf verschiedenen Stellen vornehmen, aber Sie vergessen, den Code an einer dieser Stellen zu ändern… Sehen Sie das Problem? Entweder stürzt Ihr Programm ab, oder, was noch schlimmer ist, es verwendet eine veraltete Prozedur, während es normal erscheint.
Abgesehen davon hat WET-Code durchaus seine Vorzüge. Wenn Sie vorhersehen, dass derselbe Code später in verschiedene Richtungen abzweigt, kann WET-Code diese zukünftige Änderung erleichtern.
Außerdem kann zu trockener Code dem nächsten Programmierer, der Ihren Code verwendet, Kopfschmerzen bereiten, was Sie selbst einschließen kann. Das kann daher rühren, dass man mühsam viele logische Sprünge machen muss, um die Faktoren herauszufinden, die in einer bestimmten Codezeile eine Rolle spielen.
Als allgemeine Faustregel gilt also: Halten Sie Ihren Code DRY, Leute. Ihr von morgen werdet es zu schätzen wissen.