| name | code-refactoring |
| description | 挙動を変えずに設計を整えるためのリファクタリング手順をガイドする。 |
| license | MIT |
| compatibility | テストが存在する、または追加できる環境で利用する。 |
| metadata | [object Object] |
| allowed-tools | Read |
Goal
変更前後で挙動を維持しつつ、保守性と理解しやすさを高める。
When to use
- 機能追加前にコードを読みやすくしたいとき
- 条件分岐が深い、責務が肥大化している、同種のロジックが複数に分散しているとき
- テストが通っている状態で改善余地を見つけたとき
Steps
- 影響範囲を特定し、テストが無い場合は最小の安全ネット(スモーク/スナップショット等)を用意する。
- 小さな単位で進める。
- 長いメソッドは関心ごとごとに抽出。
- 深いネストはガード節で平坦化。
- マジックナンバー/文字列を定数化。
- 変更ごとにテストを実行し、挙動が変わっていないか確認する。
- ログやエラー処理の方針を周囲と合わせ、命名/責務を見直す。
Edge cases
- テストが無い領域は、挙動が変わり得るリファクタリング(構造移動/抽象化)を避け、可視性向上(定数化・メソッド抽出)に留める。
- 近々捨てるコードや一時的なパッチは、コストに見合う範囲で最低限にする。