ブログ一覧
リファクタリングAI設計

リファクタリング: AIに「きれいにして」と言う前に知るべき5つの原則

ChatGPTやClaudeに「このコードをリファクタリングして」と頼むと、確かにきれいなコードが返ってきます。

でも、それって本当に「良く」なっているのでしょうか?

AIのリファクタリングは「表面的」

AIは以下のことが得意です。

  • 変数名を意味のあるものに変える
  • ネストを浅くする
  • 長い関数を分割する

でも、以下のことは苦手です。

  • ドメインロジックの構造的な問題を見抜く
  • 将来の変更容易性を考慮した分割
  • ビジネスルールと実装詳細の分離

Martin Fowlerの『リファクタリング』を読むと、これらが「なぜ重要か」がわかります。

知っておくべき5つの原則

1. 小さなステップで進める

リファクタリングは一気にやらない。テストが通る状態を保ちながら、小さな変更を積み重ねる。

2. 動作を変えない

新機能の追加とリファクタリングは別のコミットにする。混ぜると何が原因で壊れたかわからなくなる。

3. 重複を見つけたら抽出する

「3回目に現れたら抽出せよ」— DRY原則。ただし、表面的に似ているだけで本質が違うコードを無理に統一するな。

4. 名前が全て

良い名前は、コメントなしでコードを説明する。processDataではなくcalculateMonthlyRevenue

5. テストがないコードはリファクタリングするな

テストなしのリファクタリングは「祈り」。まずテストを書く、それからリファクタリングする。

CodeSenseiでリファクタリングを学ぶ

CodeSenseiでは、あなたのコードを貼り付けるだけで「ここから『リファクタリング』のどの章が体感できるか」をAIが教えてくれます。

AIに「きれいにして」と言うのではなく、なぜきれいにすべきかを理解するのが目的です。


CodeSenseiを試す →

自分のコードで学んでみませんか?

CodeSenseiは無料で始められます。

無料で始める