mcpField
R
refactoring

refactoring

github.com/s-hiraoku開発1969 回インストール4 週間前に更新
リポジトリ

refactoring について

外部の動作を変えずにコードを再構成する開発者向けのリファクタリングガイドです。代表的な変換と、テストを基盤に小さく進める手順を示します。

主な機能

  1. 01メソッドの抽出とインライン化
  2. 02メソッドとフィールドの移動
  3. 03条件式の簡素化
  4. 04命名の改善とマジックナンバーの置換
  5. 05テストで確認する段階的な手順

活用シーン

  1. 01長いメソッドや複雑なメソッドの整理
  2. 02結合度を下げるためのロジック移動
  3. 03重複コードやコードスメルの解消
  4. 04新機能追加に向けたコードの整理

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/s-hiraoku/synapse-a2a --skill refactoring

インストール後、Claude Code で/refactoringを入力して読み込まれたか確認します。

詳細

リファクタリングガイドスキル

リファクタリングとは、既存のコンピューターコードの外部動作を変えずに、構造を再編成する(ファクタリングを変更する)プロセスです。

主なリファクタリングパターン

1. メソッドの構成
  • メソッドの抽出:メソッドが長すぎたり複雑すぎたりする場合、その一部を独立したメソッドにします。
  • メソッドのインライン化:メソッド本体が名前と同じくらい明確な場合、呼び出し元に本体を移してメソッドを削除します。
2. オブジェクト間で機能を移動する
  • メソッド/フィールドの移動:結合度を下げるため、ロジックを最も自然に属するクラスに移動します。
3. 式を簡素化する
  • 条件式の分解:複雑な条件ロジックを、明確な名前を付けたメソッドに抽出します。
  • 条件式の統合:同じ結果につながる複数の条件チェックをまとめます。
4. クリーンコードと命名
  • 名前の変更:変数、メソッド、クラスには、意図が明確に伝わる名前を付けます。
  • マジックナンバーをシンボリック定数に置き換える:数値リテラルの代わりに名前付き定数を使います。

安全なリファクタリングのワークフロー

  1. テストを確認する:開始前に、堅牢なテストスイートがあり、すべて合格することを確認します。
  2. 小さなステップで進める:一度に小さな変更を1つ行います。
  3. テストを実行する:小さな変更を加えるたびにテストスイートを実行し、リグレッションをすぐに検出します。
  4. こまめにコミットする:小さなリファクタリングのステップを完了し、検証したら変更をコミットします。

リファクタリングを行うタイミング

  • 3回のルール:同じことを3回目に行うときは、リファクタリングします。
  • コードの臭い:長いメソッド、大きなクラス、重複したコードに気付いたら、リファクタリングします。
  • 機能の追加:実装を容易にするため、新しい機能を追加する前にリファクタリングします。

コメント