0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

「コピペしたら2箇所直す羽目になった」——非エンジニアがAIと仕事して学んだDRY原則

0
Posted at

「コピペしたら2箇所直す羽目になった」——非エンジニアがAIと仕事して学んだDRY原則

この記事は「非エンジニアがAIと仕事して初めて知ったエンジニア概念」シリーズの第3回です。


ある日、Claude Codeとの会話

ぼくはClaudeと一緒にクライアント案件(業務システム)を作っていた。

途中でAIがこんなことを言ってきた。

「このロジック、3箇所にコピペされていますね。DRYにしましょうか?」

DRY?

聞いたことはあった。でも「乾燥している」以外の意味を知らなかった。

「どういう意味?」と聞いたら、Claudeは即座に説明してくれた。

Don't Repeat Yourselfの略です。同じコードや情報を複数の場所に書かない、という原則です」


「繰り返すな」というルール

DRY(Don't Repeat Yourself)は、ソフトウェア開発における原則のひとつだ。

日本語に直訳すると「繰り返すな」。

なにが具体的にまずいのか?

実例で見てみよう。

DRYじゃない状態(WET)

# ファイルA
消費税率 = 0.10
税込価格 = 本体価格 × 1.10

# ファイルB
消費税率 = 0.10
税込価格 = 本体価格 × 1.10

# ファイルC
消費税率 = 0.10
税込価格 = 本体価格 × 1.10

3箇所に同じ数字(0.10)が書いてある。

消費税が10%から8%に変わったとき、3箇所全部直さないといけない。

1箇所直し忘れたら? バグになる。

DRYな状態

# 定数ファイル
消費税率 = 0.10

# ファイルA
税込価格 = 本体価格 × (1 + 消費税率)

# ファイルB
税込価格 = 本体価格 × (1 + 消費税率)

# ファイルC
税込価格 = 本体価格 × (1 + 消費税率)

「消費税率」の定義は1箇所だけ。変更するときは1箇所だけ直せばいい。


非エンジニアの世界にもある「DRY違反」

これを理解した瞬間、ぼくは気づいた。

自分の仕事にも、同じ問題が山ほどある。

Excelの罪

  • 同じ数字が複数シートにコピペされている
  • 更新するとき「あれはどのシートだっけ」と探し回る
  • 古いバージョンと最新バージョンが混在して、どちらが正しいかわからない

メールの罪

  • 「今月の売上レポート」と「今月の社内共有資料」に同じ数字が書いてある
  • 数字が変わったとき、2通のメールを探して修正する

議事録の罪

  • 会議で決まったことが「議事録」「報告書」「プロジェクト管理表」の3箇所に書いてある
  • どれかが古くなって、どれが最新かわからなくなる

これ全部、DRY違反だ。


「ぼく、DRY違反してたんだ」

あるクライアント案件のプロジェクトで、Claudeがこんな指摘をしてきた。

「シフトのルールが rules.txtCLAUDE.md の両方に書いてあります。どちらかを正本にして、もう一方は参照するだけにしましょう」

はっとした。

同じルールを2箇所に書いていた。更新するとき1箇所直しても、もう1箇所は古いまま。気づかないとAIが間違った情報で動く。

「1箇所だけ書く。他は参照する」——これがDRYだ。


DRYの逆は「WET」

DRYの反対概念はWETと呼ばれる。

  • Write Everything Twice(全部2回書く)
  • We Enjoy Typing(タイピングが大好き)
  • Waste Everyone's Time(みんなの時間を無駄にする)

どれも皮肉な言葉だ。

WETなシステムは、最初は楽に見えて、あとで必ず痛みを伴う。


「DRYにすべきか」の判断基準

ただし、何でもかんでもDRYにすればいいわけじゃない。

Claudeが教えてくれた判断基準:

この情報が変わったとき、何箇所直す必要がありますか?

  • 1箇所だけ → DRYになっている
  • 2箇所以上 → DRY違反の可能性

もうひとつの基準:

これは同じ理由で変わりますか?

同じ理由で変わるものは、同じ場所に置く。
違う理由で変わるものは、たまたま似ているだけで、別物として扱う。


非エンジニアへの示唆

DRY原則は、コードの外の世界でも使える考え方だ。

  • 会社の規則書は1箇所に集める(複数部署にバラバラに存在させない)
  • 顧客情報は1つのシステムに入れる(ExcelとNotionと紙に分散させない)
  • 仕様は1か所に書く(チャットとメールとドキュメントにコピーしない)

「情報の正本はどこか」を意識するだけで、ミスが減る。


まとめ

DRYを一言で言うと:

同じことを2回書いたら、それは直し忘れる未来への伏線だ

AIと仕事をしていると、こういう原則を自然と学ぶことになる。

Claudeはコードを書くとき、常に「これ、同じもの2箇所にありますね」と指摘してくる。それがなぜかを理解したとき、ぼくは少しだけエンジニア的な考え方を手に入れた気がした。


このシリーズについて

Claude Code(AIコーディングアシスタント)と仕事をしていると、エンジニアが当然のように使う概念に突然出会う。

非エンジニアの視点で、それを紹介していく。


非エンジニアがAIと800時間仕事した全記録
DRYのような概念との出会いも含め、Claude Codeに$600を投じて自律稼働を続けた体験を全て書いています。
AIに仕事を任せてみた——非エンジニアが800時間で学んだ全記録(¥800・第2章まで無料)

0
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?