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?

スパゲッティコードは「読むな」──AIで分解して理解する4ステップ

0
Last updated at Posted at 2026-04-01

「3時間読んでも何も分からないコード」に遭遇したことはありませんか?

  • 条件がどこで追加されているか分からない
  • SQLがどの形で実行されるのか見えない
  • 触るのが怖い

そんなスパゲッティコードは、読む対象ではなく分解する対象です。
そして今は、その分解をAIと一緒にやる時代です。


この記事の対象読者

  • レガシーコードの調査・改修を任されたエンジニア
  • SQLが文字列連結で組まれているコードに苦しんでいる人
  • 「コードは読めるが挙動が分からない」と感じている人

想定スキル:

  • 基本的なプログラミング知識
  • SQLの基礎理解

この記事を読むとできるようになること

  • AIを使ってスパゲッティコードを分解・整理できる
  • 条件分岐を構造として理解できる
  • SQLを再構築して説明できる
  • AIの出力を鵜呑みにせず検証できる

Before / After

Before:
- コードを読んでも全体像が見えない
- 条件の抜け漏れが怖い
- 修正の影響範囲が分からない

After:
- 条件一覧で挙動を把握できる
- SQLを再構築して説明できる
- 変更の影響範囲を予測できる

サンプルコード(典型的な地獄)

StringBuilder sql = new StringBuilder();

sql.append("SELECT * FROM sales WHERE 1=1 ");

if (startDate != null && endDate != null) {
    sql.append("AND sale_date BETWEEN ? AND ? ");
}

if (customerId != null) {
    sql.append("AND customer_id = ? ");
}

if ("A".equals(type)) {
    sql.append("AND category = 'A' ");
} else if ("B".equals(type)) {
    sql.append("AND category = 'B' ");
}

戦略:AIで「読む」のではなく「分解する」

重要なのはこれです:

👉 AIは読解ツールではなく、分解・整理ツールとして使う


全体フロー(4ステップ)

  1. 構造を分解する
  2. 条件を抽出する
  3. データ構造を整理する
  4. SQLを再構築する

Step1:構造を分解する(AIの得意領域)

目的

「どこで何をしているか」を把握する

AIへの指示例

このコードからSQL生成に関係する処理だけ抽出して整理して

成果物

  • SQL生成箇所の一覧
  • 入力パラメータ一覧

ポイント

👉 人間は読むな。AIに切り出させる


Step2:条件を抽出する(最重要)

目的

挙動を決める条件を完全に把握する

AIへの指示例

このコードからWhere句に影響する条件をすべて列挙して

出力イメージ(理想)

条件 内容 発生条件
sale_date BETWEEN ? AND ? 日付範囲 日付あり
customer_id = ? 顧客指定 IDあり
category = 'A' カテゴリA type=A

ポイント

👉 コードではなく「条件の集合」に変換する


Step3:データ構造を整理する

目的

どのデータを扱っているかを把握する

AIへの指示例

このSQLで使用されているテーブルとカラムを整理して

成果物

  • 使用テーブル一覧
  • JOIN構造
  • 主要カラム

ポイント

👉 Whereだけでなく「データの出どころ」も見る


Step4:SQLを再構築する

目的

最終的に実行されるSQLを可視化する

AIへの指示例

このコードから最終的に実行されるSQLを再構築して

ポイント

👉 コード → SQL に変換することで理解できる


⚠️ 最重要:AIは間違える

AIを使う上で一番重要な話です。

よくある誤り

  • 条件を勝手に補完する
  • NULL分岐を落とす
  • 実行順序を誤る

必ずやること

  • 実行ログと比較する
  • DB結果と照合する
  • 条件の抜け漏れを確認する

AI活用の原則

👉 AI = 仮説生成装置

  • 分解はAIにやらせる
  • 判断は人間がやる
  • 正しさは実行結果で確認する

まとめ

スパゲッティコードは読むものではありません。

  • 分解する
  • 可視化する
  • 検証する

そしてその分解は、AIと一緒にやると一気に楽になります。

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?