リファクタリング
パンくず リファクタリング-プログラマーの体質改善テクニック 大きなリファクタリング 継承の分割 内容 リファクタリング名 継承の分割 適用ケース要約 同時に2つの仕事をしている継承階層がある 適用内容要約 2つの階層を作り、片方からもう片方を実行す…
パンくず リファクタリング-プログラマーの体質改善テクニック 大きなリファクタリング 内容 継承の取り扱い リファクタリング名 対象 対応 継承の分割 同時に2つの仕事をしている継承階層がある 2つの階層を作り、片方からもう片方を実行するには委譲を使…
パンくず リファクタリング-プログラマーの体質改善テクニック 継承の取り扱い 継承による委譲の置き換え 内容 リファクタリング名 継承による委譲の置き換え 適用ケース要約 委譲を使っているが、インターフェイス全体のために多数の委譲メソッドを書いてい…
パンくず リファクタリング-プログラマーの体質改善テクニック 継承の取り扱い 委譲による継承の置き換え 内容 リファクタリング名 委譲による継承の置き換え 適用ケース要約 サブクラスがスーパークラスの一部のインターフェースだけを使っている。あるいは…
パンくず リファクタリング-プログラマーの体質改善テクニック 継承の取り扱い Template Methodの形成 内容 リファクタリング名 Template Methodの形成 適用ケース要約 異なる2つのサブクラスのメソッドが類似の処理を同じ順序で実行しているが、各処理は異…
パンくず リファクタリング-プログラマーの体質改善テクニック 継承の取り扱い Template Methodの形成 内容 リファクタリング名 Template Methodの形成 適用ケース要約 異なる2つのサブクラスのメソッドが類似の処理を同じ順序で実行しているが、各処理は異…
パンくず リファクタリング-プログラマーの体質改善テクニック 継承の取り扱い 階層の平坦化 内容 リファクタリング名 階層の平坦化 適用ケース要約 スーパークラスとサブクラス(またはモジュールとそのモジュールをインクルードするクラス)に大差がない …
パンくず リファクタリング-プログラマーの体質改善テクニック 継承の取り扱い インターフェースの抽象 内容 リファクタリング名 インターフェースの抽象 適用ケース要約 複数のクライアントが、あるクラスのひとまとまりのインタフェースを使っている。また…
パンくず リファクタリング-プログラマーの体質改善テクニック 継承の取り扱い スーパークラスの抽出 内容 リファクタリング名 スーパークラスの抽出 適用ケース要約 同じような機能を持つ2つのクラスがある。 適用内容要約 片方のクラスをスーパークラスに…
パンくず リファクタリング-プログラマーの体質改善テクニック 継承の取り扱い サブクラスの抽出:Extract Subclass 内容 リファクタリング名 サブクラスの抽出:Extract Subclass 適用ケース要約 クラスが一部のインスタンスだけしか使わないメンバを持ってい…
パンくず リファクタリング-プログラマーの体質改善テクニック 継承の取り扱い フィールドの引き下げ 内容 リファクタリング名 フィールドの引き下げ 適用ケース要約 スーパークラスのふるまいが、一部のサブクラスでしか使われない。 適用内容要約 フィール…
パンくず リファクタリング-プログラマーの体質改善テクニック 継承の取り扱い メソッドの引き下げ 内容 リファクタリング名 メソッドの引き下げ 適用ケース要約 スーパークラスのふるまいが、一部のサブクラスでしか使われない。 適用内容要約 フィールドを…
パンくず リファクタリング-プログラマーの体質改善テクニック 継承の取り扱い コンストラクタ本体の引き上げ 内容 リファクタリング名 コンストラクタ本体の引き上げ 適用ケース要約 複数のサブクラスに内容がほとんど同一のコンストラクタがある。 適用内…
パンくず リファクタリング-プログラマーの体質改善テクニック 継承の取り扱い メソッドの引き上げ 内容 リファクタリング名 メソッドの引き上げ 適用ケース要約 2つのサブクラスが同じメソッドを持っている。 適用内容要約 そのメソッドをスーパークラスに…
パンくず リファクタリング-プログラマーの体質改善テクニック 継承の取り扱い フィールドの引き上げ 内容 リファクタリング名 フィールドの引き上げ 適用ケース要約 2つのサブクラスが同じフィールドを持っている。 適用内容要約 そのフィールドをスーパー…
パンくず リファクタリング-プログラマーの体質改善テクニック 継承の取り扱い 内容 継承の取り扱い リファクタリング名 対象 対応 フィールドの引き上げ 2つのサブクラスが同じフィールドを持っている。 そのフィールドをスーパークラスに移動する。 メソッ…
パンくず リファクタリング-プログラマーの体質改善テクニック メソッド呼び出しの単純化 条件判定による例外の置き換え 内容 リファクタリング名 条件判定による例外の置き換え 適用ケース要約 例外を発生させているが、本来は呼び出し側が先にチェックすべ…
パンくず リファクタリング-プログラマーの体質改善テクニック メソッド呼び出しの単純化 例外によるエラーコードの置き換え 内容 リファクタリング名 例外によるエラーコードの置き換え 適用ケース要約 メソッドがエラーを示す特別なコードをリターンしてい…
パンくず リファクタリング-プログラマーの体質改善テクニック メソッド呼び出しの単純化 ダウンキャストのカプセル化 内容 リファクタリング名 ダウンキャストのカプセル化 適用ケース要約 メソッドが返すオブジェクトが、呼び出し側によってダウンキャスト…
パンくず リファクタリング-プログラマーの体質改善テクニック メソッド呼び出しの単純化 Factory Methodによるコンストラクタの置き換え 内容 リファクタリング名 Factory Methodによるコンストラクタの置き換え 適用ケース要約 オブジェクトを生成する際に…
パンくず リファクタリング-プログラマーの体質改善テクニック メソッド呼び出しの単純化 メソッドによる引数の置き換え 内容 リファクタリング名 メソッドによる引数の置き換え 適用ケース要約 あるオブジェクトがメソッドを呼び出し、その戻り値を別のメソ…
パンくず リファクタリング-プログラマーの体質改善テクニック メソッド呼び出しの単純化 オブジェクトそのものの受け渡し 内容 リファクタリング名 オブジェクトそのものの受け渡し 適用ケース要約 あるオブジェクトから複数の値を取得し、それらの値をメソ…
パンくず リファクタリング-プログラマーの体質改善テクニック メソッド呼び出しの単純化 明示的なメソッド群による引数の置き換え 内容 リファクタリング名 明示的なメソッド群による引数の置き換え 適用ケース要約 引数の特定の値によって異なるコードが実…
パンくず リファクタリング-プログラマーの体質改善テクニック メソッド呼び出しの単純化 メソッドのパラメーター化 内容 リファクタリング名 メソッドのパラメーター化 適用ケース要約 複数のメソッドが、異なる値に対してよく似た振る舞いをしている 適用…
パンくず リファクタリング-プログラマーの体質改善テクニック メソッド呼び出しの単純化 問い合わせと更新の分離 内容 リファクタリング名 問い合わせと更新の分離 適用ケース要約 1つのメソッドが値を返すと同時にオブジェクトの状態を変更している 適用内…
パンくず リファクタリング-プログラマーの体質改善テクニック メソッド呼び出しの単純化 メソッドの隠蔽 内容 リファクタリング名 メソッドの隠蔽 適用ケース要約 メソッドが自分の定義されているクラス意外からまったく使用されていない 適用内容要約 その…
パンくず リファクタリング-プログラマーの体質改善テクニック メソッド呼び出しの単純化 setメソッドの削除 内容 リファクタリング名 setメソッドの削除 適用ケース要約 フィールドの値が生成時に設定され、決して変更されない 適用内容要約 そのフィールド…
パンくず リファクタリング-プログラマーの体質改善テクニック メソッド呼び出しの単純化 引数オブジェクトの導入 内容 リファクタリング名 引数オブジェクトの導入 適用ケース要約 本来まとめて扱うべき一覧の引数がある 適用内容要約 それらをオブジェクト…
パンくず リファクタリング-プログラマーの体質改善テクニック メソッド呼び出しの単純化 引数の削除 内容 リファクタリング名 引数の削除 適用ケース要約 ある引数が、もはやメソッド本体から使われていない。 適用内容要約 引数を削除する 適用詳細 リファ…
パンくず リファクタリング-プログラマーの体質改善テクニック メソッド呼び出しの単純化 引数の追加 内容 リファクタリング名 引数の追加 適用ケース要約 あるメソッドが、呼び出し元からより多くの情報を必要としている 適用内容要約 その情報を渡すために…