Skip to content

CTH Bazaar

Blog

Menu
Menu

DRY vs WET コード

Posted on 12月 27, 2021 by admin
John Long

Follow

Nov 12, 2017 – 3 min read

Dry, Wet, Hot, Cold. これってただの言葉だよね?

Art by Noah Bradley

すべてのプログラマーではないにしても、コードに関連する DRY と WET という言葉を聞いたことがある人は多いはずです。

DRY – Don’t Repeat Yourself

WET – Write Everything Twice

ちょっと考えてみてください。 もし、あなたの直感が DRY に傾いているとしたら、それは正しいでしょう。

プログラマーとして、コードを DRY に保つ、つまり、コードを繰り返さないように努力することは、一般的にベスト プラクティス(最良の実践方法)です。

WET コードの例をいくつか挙げてみましょう。 (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

Write Everything Twice のスポットに気づきましたか。

この場合、John & Peter という両方のクラスが build メソッドを使用する能力を持っていることになります。 しかし、将来ビルドメソッドに変更を加える場合、ビルドメソッドが使用される各スポットで、2回行う必要があります。

一方、コードがDRYであれば、その変更は1回で済みます。 この場合、モジュールを使用することにより、コードを DRY に保つことができます。 そしてもちろん、ジョンはまだ自分の destroy メソッドを保持しています。

コードベースを DRY に保つことは、変更がかなり頻繁に起こることが予測される場所で最も役に立ちます。 DRY なコードを持つことは、そのコードが使用される可能性のあるすべての場所ではなく、1 つまたはいくつかの領域でそれらの変更を行う必要があるだけであることを意味します。 5 つの異なる場所で同一のコードに変更を加える必要があり、そのうちの 1 つの場所のコードを変更するのを忘れたとします… 問題がわかりますか。 プログラムがクラッシュするか、あるいはさらに悪いことに、正常に見えるのに時代遅れのプロシージャを使用することになります。

そうは言っても、WET コードには利点があります。

さらに、過度に DRY なコードは、あなたのコードを使用する次のプログラマー (あなた自身を含む) の頭痛の種になる可能性があります。 これは、コードの特定の行で作用している要因を把握するために、退屈な量の論理的ジャンプを行うことに起因しています。 明日のあなたはそれを評価するでしょう。

コメントを残す コメントをキャンセル

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

最近の投稿

  • ファレルとジェイ・ZのBLMに影響を受けた新しい「Entrepreneur」のオールスタービデオを見る
  • 合資会社
  • Technology Transfer
  • Bounce Energy
  • 量より質とは何か? 5 Key Lessons

アーカイブ

  • 2022年1月
  • 2021年12月
  • 2021年11月
  • 2021年10月
  • 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