作り直したくなるとき、詰まっているのは構造ではなく理解のほうかもしれません
作りかけのアプリを触っていると、あるタイミングで急にこう思うことがあります。
「これ、一回全部消して作り直したほうが早いんじゃないか」
ファイルがごちゃごちゃしてきた。前に書いた部分の意味が分からない。直そうとすると別の場所が壊れる。それなら白紙から書き直したほうがきれいになる気がする。
この衝動が来ること自体は珍しくないと思います。そして、正しい場合と罠の場合が混ざっています。
以前「全体像が見えなくなったら構成図を描かせる」という話を書きましたが、今日はその一歩先です。見えないまま消してしまう前に、何を確認するかの話をします。止まったものを再開する話も別で書いたので、今日は「再開せずに消したくなったとき」に絞ります。
作り直しが正しいとき/もったいないとき
正しいのはこういう場合です。
- 作りたいものが途中で変わって、いまの構造が合っていない
- 最初の数時間で書いた部分だけを捨てる(=失うものが少ない)
もったいないのはこちらです。
- 「動いてはいるが、きれいじゃない」から作り直す
- 直し方が分からないから、いっそ消す
後者で消すと、同じところで詰まり直すことがあります。原因が構造ではなく理解のほうにある場合、白紙から書いても同じ場所に戻ってくるためです。しかも2周目は「前もここで詰まった」という気持ちがのしかかるぶん、しんどくなりやすいです。
消す前に、判断材料を3つ揃える
そこで、消す前に確認しておきたいことが3つあります。どれも長くはかからないはずです。
1. いま動いている機能を数える
まず、動いているものを書き出します。
「トップページが表示される」「フォームから登録できる」「一覧が出る」——このレベルで構いません。2つしかなければ2つと書きます。
これをやる理由は、消すと何を失うのかを具体的にするためです。頭の中では「ぐちゃぐちゃなコード」としか見えていませんが、書き出すと「動く機能が5個ある」に変わります。5個をもう一度作る時間を考えると、判断が変わることがあります。
逆に書き出してみて1個しかないなら、消すコストは小さいので、迷わず作り直していいと思います。
2. 「気持ち悪い」が具体的に何なのかを言葉にする
次に、何が嫌なのかを1行にします。
- ファイルが多すぎてどこに何があるか分からない
- 同じような処理があちこちにコピーされている
- 名前が適当すぎて自分でも読めない
ここまで具体化できたら、実は作り直さなくても直せることが多いです。ファイルの置き場所を整理する、重複を1か所にまとめる、名前を付け直す。どれも既存のコードを残したままできます。
逆に、言葉にしようとして「なんとなく全部が嫌」以上に具体化できないなら、それは疲れているサインかもしれません。その日は閉じて、翌日もう一度見ると印象が変わることがあります。
3. AIに「作り直さない案」を出させる
3つ目は、判断材料をもう1つ増やす作業です。
いま作っているアプリを、全部作り直したくなっています。
気になっているのは次の点です。
(1で書き出した「動いている機能」を貼る)
(2で言葉にした「気持ち悪い点」を貼る)
次の2つを出してください。
1. いまのコードを残したまま、この不満を解消する手順
2. 作り直す場合に、どこまでやり直しになるか(残せる部分はどこか)
どちらが良いかの判断は自分でするので、両方を並べてください。
ポイントは、両方出させることです。「作り直したほうがいいですか?」と聞くと、こちらの気持ちに寄せた答えが返ってくることがあります。判断そのものは渡さず、材料だけもらう形にします。
2の「どこまでやり直しになるか」も効きます。作り直しを決めたあとでも、全部を捨てる必要があるとは限らないからです。データの構造や設定ファイルは、そのまま持っていけることが多いです。
作り直すと決めたなら、消さずに残す
最後に1つだけ。作り直すと決めた場合でも、古いほうを消さないでください。
フォルダごとコピーして名前を変えておく、あるいはコミットしてから新しく作り始める。どちらでも構いません。
別の記事でも触れた「機能を足すときは戻せる状態にしてから」の応用です。作り直している最中に「あれ、前はここどう書いてたっけ」となる場面が出てきますし、作り直したものが必ずしも良くなるとも限りません。戻れる状態にしておくだけで、判断のコストが下がります。
判断を渡さない、という考え方
この記事でやっていることを整理すると、判断に必要な材料を自分の手で揃えてから決める、という手順です。
念のためですが、聞くこと自体は早くていいと思っています。渡さないほうがいいのは判断のほうです。「作り直すべきですか?」と人やAIに聞くと、答えは返ってきます。でもその答えは、こちらが渡した情報の範囲でしか作られていません。動いている機能を数えていなければ、失うものの大きさは相手にも見えていません。
これはプログラミングに限らず、AIに何かを相談するとき全般に効く形だと思っています。材料が揃ってから決める。揃えた時点で答えが出ていることも、けっこうあります。
まとめ
- 作り直したい衝動には正しい場合と罠の場合がある。「動いてはいるがきれいじゃない」で消すと、同じ場所に戻り直しやすい
- 消す前に3つ確認する
- 動いている機能を数える(失うものを具体化)
- 「気持ち悪い」を1行にする(言葉にできれば作り直さず直せることが多い)
- AIに「作り直さない案」と「作り直す案」を両方出させる(判断は自分でする)
- 作り直すと決めても、古いほうは消さずに残す
面談なしで、今日から始められます
この講座は 未経験から Next.js + Supabase + Claude Code で Webアプリを公開するまで を全20セッションで体系化した教材付きプランです。無料相談を挟まず、申し込んだその日から教材で学習を始められます。AIが学習パートナーになって何度でも質問でき、つまずいた所だけチャットで直接サポートします。
- 今日から始める(教材完全版+月5,500円・チャット質問し放題・いつでも解約OK)→ https://menta.work/plan/20251?ref=menta-knowledge
- いきなりは不安な方へ:無料の教材体験版もあります(最初の数セッション分)→ プラン詳細をご覧ください

