Qiita Teams that are logged in
You are not logged in to any team

Log in to Qiita Team
Community
OrganizationEventAdvent CalendarQiitadon (β)
Service
Qiita JobsQiita ZineQiita Blog
5
Help us understand the problem. What are the problem?

More than 3 years have passed since last update.

posted at

updated at

Organization

マーティン・ファウラーのリファクタリング 個人的まとめ

新装版 リファクタリング ~既存のコードを安全に改善する~

  • 読みました。
  • 忘れないうちに、それぞれの手法について一言くらいでメモしていきます。
新装版 リファクタリング―既存のコードを安全に改善する― (OBJECT TECHNOLOGY SERIES) 新装版 リファクタリング―既存のコードを安全に改善する― (OBJECT TECHNOLOGY SERIES)
Martin Fowler 児玉 公信

オーム社 2014-07-26
売り上げランキング : 22428

Amazonで詳しく見る
by G-Tools

第6章 メソッドの構成

  • メソッドの抽出
  • メソッドのインライン化
  • 一時変数のインライン化
  • 問い合わせによる一時変数の置き換え
  • 説明用変数の導入
  • パラメータへの代入の除去
  • メソッドオブジェクトによるメソッドの置き換え
  • アルゴリズムの取り替え

第7章 オブジェクト間での特性の移動

  • メソッドの移動
  • フィールドの移動
  • クラスの抽出
  • クラスのインライン化
  • 委譲の隠蔽
  • 仲介人の除去
  • 外部メソッドの導入
  • 局所的拡張の導入

マーティン・ファウラーのリファクタリング 個人的まとめ(第6・7章) - Qiita

第8章 データの再構成

  • 自己カプセル化フィールド
  • オブジェクトによるデータ値の置き換え
  • 値から参照への変更
  • 参照から値への変更
  • オブジェクトによる配列の置き換え
  • 観察されるデータの複製
  • 単方向関連の双方向への変更
  • 双方向関連の単方向への変更
  • シンボリック定数によるマジックナンバーの置き換え
  • フィールドのカプセル化
  • コレクションのカプセル化
  • データクラスによるレコードの置き換え
  • クラスによるタイプコードの置き換え
  • サブクラスによるタイプコードの置き換え
  • State/Strategyによるタイプコードの置き換え
  • フィールドによるサブクラスの置き換え

第9章 条件記述の単純化

  • 条件記述の分解
  • 条件記述の統合
  • 重複した条件記述の断片の統合
  • 制御フラグの削除
  • ガード節による入れ子条件の置き換え
  • ポリモーフィズムによる条件記述の置き換え
  • ヌルオブジェクトの導入
  • 表明の導入

マーティン・ファウラーのリファクタリング 個人的まとめ(第8・9章) - Qiita

第10章 メソッド呼び出しの単純化

  • メソッド名の変更
  • パラメータの追加
  • パラメータの削除
  • 問い合わせと更新の分離
  • メソッドのパラメタライズ
  • 明示的なメソッド群によるパラメータの置き換え
  • オブジェクトそのものの受け渡し
  • メソッドによるパラメータの置き換え
  • パラメータオブジェクトの導入
  • setメソッドの削除
  • メソッドの隠蔽
  • Factory Methodによるコンストラクタの置き換え
  • ダウンキャストのカプセル化
  • 例外によるエラーコードの置き換え
  • 条件判定による例外の置き換え

第11章 継承の取り扱い

  • フィールドの引き上げ
  • メソッドの引き上げ
  • コンストラクタ本体の引き上げ
  • メソッドの引き下げ
  • フィールドの引き下げ
  • サブクラスの抽出
  • スーパークラスの抽出
  • インターフェースの抽出
  • 階層の平坦化
  • Template Methodの形成
  • 委譲による継承の置き換え
  • 継承による委譲の置き換え
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
5
Help us understand the problem. What are the problem?