Claude Code で壊れやすいコードを直すとき、いきなり書き換えに入らないのがコツです。先に「今の振る舞い」をテストや確認手順として残してから手を入れると、直したつもりで別の場所を壊す事故がぐっと減ります。コード整理でも、文書の大掃除でも、ディスク削減でも同じです。先に基準を作ってから触る。これだけで作業の怖さがかなり下がります。
リファクタという言葉は少し硬いですが、要するに「見た目や構造を整えるが、動きは変えない」作業です。Claude Code はこのとき、ただ修正案を出すだけでなく、「どこを保護するか」「何を確認してから変えるか」を一緒に考えさせると安定します。
たとえば、Python の関数を分割したい、古い命名を揃えたい、重複ファイルの整理ロジックを見直したい、契約書テンプレートの章立てを整えたい。どれも、先にテストの形を決めておくと安心です。機械的な単体テストでなくても、手順書や比較用のサンプルでもかまいません。
まずは Claude Code に、直す前に「守るべき現状」を拾わせます。依頼文はこんな感じで十分です。
このリポジトリで、今の動きを変えずにリファクタしたいです。
まず、変更前の振る舞いを確認するためのテスト案を出してください。
既存のテストがあれば、それをどう活かすかも教えてください。
テストがない場合は、最小限の追加テストを提案してください。
その後で、安全に直す順番を示してください。
コードを見せられるなら、もう少し具体的に言うと精度が上がります。
このファイルの処理を整理したいです。
機能は変えず、今の振る舞いを保ったまま進めたいので、
1. まず何を固定するべきか
2. どんなテストを追加すべきか
3. その後どう分割・置き換えるか
の順で提案してください。
ファイル整理や文書作成でも使い方は同じです。たとえば「重複写真を削除する前に、どの条件なら同一扱いにするかを確認したい」「複数の文書テンプレートを統合したいが、用語の揺れは残したくない」といった場面です。Claude Code に、削除前の判定ルールや比較対象を先に洗わせると、あとで戻す手間が減ります。
このフォルダを整理したいですが、削除や統合の前に安全確認をしたいです。
まず、重複候補や似たファイルを見つける基準を整理してください。
次に、実際に消す前にチェックできる一覧や確認手順を提案してください。
最後に、問題がなさそうなものだけを段階的に処理する順番を出してください。
実務で効くのは、「テストを足す」と言っても必ずしも自動テストを増やすだけではない、という点です。コードなら自動テストが第一候補ですが、文書ならサンプル入力と期待出力、ファイル整理なら削除候補一覧の保存、設定変更なら before/after の比較がテストの代わりになります。大事なのは、変更前後を見比べられる基準を作ることです。
Claude Code に作業させるときは、いきなり「直して」ではなく、段取りを分けると事故が減ります。次の順番が扱いやすいです。
1. まず現状確認に必要なテスト、比較、チェック項目を作る
2. それが通ることを確認する
3. 小さく1箇所だけ直す
4. もう一度同じテストを走らせる
5. 問題がなければ次へ進む
この進め方だと、Claude Code が大きな変更を一気に提案してきても、そのまま飲み込まずに済みます。1回の変更範囲を小さく保つのは、AIに任せる作業ほど効きます。広く直すほど、どこで壊れたか分からなくなるからです。
注意したいのは、テストを増やすこと自体が目的になってしまうことです。保護したいのは「今の振る舞い」であって、テスト数ではありません。既存の不具合まで固定してしまうと、あとで直す余地がなくなります。逆に、よく分からないまま大胆に書き換えると、見た目は整っても動きがズレます。Claude Code には、変更の前に「何を壊したら困るか」を言葉にさせてください。
この変更で、絶対に変えてはいけない挙動を先に列挙してください。
そのうえで、追加すべきテストを優先度順に並べてください。
既存のバグを固定してしまいそうなテストは除外してください。
もう一つ、見落としやすいのは「テストの粒度」です。細かい関数だけを守るテストを増やすと、全体の流れの崩れを見逃すことがあります。逆に、全部を大きな一発テストで押さえると、少しの修正でも失敗しやすくなります。Claude Code には、小さい確認と少し大きい確認を混ぜた案を出させると扱いやすいです。
小さな単位の確認と、全体の流れを確認する手順を両方提案してください。
片方だけでは不十分な場合、その理由も説明してください。
少し進んだ使い方としては、「壊れやすい境界」を先に固める方法があります。入力の形式が曖昧な場所、例外が起きやすい場所、ファイル名や日付の扱いが揺れやすい場所です。そこだけでもテストや確認手順を先に置いておくと、リファクタの自由度が上がります。全部を一度に守ろうとしないほうが、結果的に速いです。
Claude Code を使うときは、作業のたびに「この変更で守るものは何か」を言わせるとぶれにくくなります。リファクタは、勇気より段取りです。先にテストを足し、確認できる形を作り、それから直す。この順番を崩さないだけで、修正の成功率はかなり上がります。
もし次に手を付けるなら、古い関数の分割や、フォルダ内の重複ファイル整理、文章テンプレートの統合が向いています。どれも「先に比較基準を作る」と相性がいいからです。Claude Code には、直す前の準備まで仕事に含めて頼む。そこまでやると、安全さが一段上がります。