refactoring について
外部の動作を変えずにコードを再構成する開発者向けのリファクタリングガイドです。代表的な変換と、テストを基盤に小さく進める手順を示します。
主な機能
- 01メソッドの抽出とインライン化
- 02メソッドとフィールドの移動
- 03条件式の簡素化
- 04命名の改善とマジックナンバーの置換
- 05テストで確認する段階的な手順
活用シーン
- 01長いメソッドや複雑なメソッドの整理
- 02結合度を下げるためのロジック移動
- 03重複コードやコードスメルの解消
- 04新機能追加に向けたコードの整理
インストール
コマンドをコピーしてターミナルで実行します。
$
npx skills add https:/ / github.com/ s-hiraoku/ synapse-a2a --skill refactoringインストール後、Claude Code で/refactoringを入力して読み込まれたか確認します。
詳細
リファクタリングガイドスキル
リファクタリングとは、既存のコンピューターコードの外部動作を変えずに、構造を再編成する(ファクタリングを変更する)プロセスです。
主なリファクタリングパターン
1. メソッドの構成
- メソッドの抽出:メソッドが長すぎたり複雑すぎたりする場合、その一部を独立したメソッドにします。
- メソッドのインライン化:メソッド本体が名前と同じくらい明確な場合、呼び出し元に本体を移してメソッドを削除します。
2. オブジェクト間で機能を移動する
- メソッド/フィールドの移動:結合度を下げるため、ロジックを最も自然に属するクラスに移動します。
3. 式を簡素化する
- 条件式の分解:複雑な条件ロジックを、明確な名前を付けたメソッドに抽出します。
- 条件式の統合:同じ結果につながる複数の条件チェックをまとめます。
4. クリーンコードと命名
- 名前の変更:変数、メソッド、クラスには、意図が明確に伝わる名前を付けます。
- マジックナンバーをシンボリック定数に置き換える:数値リテラルの代わりに名前付き定数を使います。
安全なリファクタリングのワークフロー
- テストを確認する:開始前に、堅牢なテストスイートがあり、すべて合格することを確認します。
- 小さなステップで進める:一度に小さな変更を1つ行います。
- テストを実行する:小さな変更を加えるたびにテストスイートを実行し、リグレッションをすぐに検出します。
- こまめにコミットする:小さなリファクタリングのステップを完了し、検証したら変更をコミットします。
リファクタリングを行うタイミング
- 3回のルール:同じことを3回目に行うときは、リファクタリングします。
- コードの臭い:長いメソッド、大きなクラス、重複したコードに気付いたら、リファクタリングします。
- 機能の追加:実装を容易にするため、新しい機能を追加する前にリファクタリングします。
コメント
Markdown 対応