Tbpgr Blog

Employee Experience Engineer tbpgr(てぃーびー) のブログ

リファクタリング

書籍 リファクタリング−プログラマーの体質改善 | メソッド呼び出しの単純化 | メソッド名の変更

パンくず リファクタリング-プログラマーの体質改善テクニック メソッド呼び出しの単純化 メソッド名の変更 内容 リファクタリング名 メソッド名の変更 適用ケース要約 メソッドの名前がその目的を正しく表現できていない 適用内容要約 メソッド名の変更 適…

書籍 リファクタリング−プログラマーの体質改善 | メソッド呼び出しの単純化

パンくず リファクタリング-プログラマーの体質改善テクニック メソッド呼び出しの単純化 内容 メソッド呼び出しの単純化 リファクタリング名 対象 対応 メソッド名の変更 メソッドの名前がその目的を正しく表現できていない メソッド名の変更 引数の追加 あ…

書籍 リファクタリング−プログラマーの体質改善 | 条件式の単純化 | 表明の導入

パンくず リファクタリング-プログラマーの体質改善テクニック 条件式の単純化 表明の導入 内容 リファクタリング名 表明の導入 適用ケース要約 プログラムの状態について何らかの条件を前提としているコードがある 適用内容要約 アサーションによって、前提…

書籍 リファクタリング−プログラマーの体質改善 | 条件式の単純化 | ヌルオブジェクトの導入

パンくず リファクタリング-プログラマーの体質改善テクニック 条件式の単純化 ヌルオブジェクトの導入 内容 リファクタリング名 ヌルオブジェクトの導入 適用ケース要約 コードの中でnull(nil)値のチェックを繰り返している 適用内容要約 null(nil)値の代わ…

書籍 リファクタリング−プログラマーの体質改善 | 条件式の単純化 | ポリモーフィズムによる条件記述の置き換え

パンくず リファクタリング-プログラマーの体質改善テクニック 条件式の単純化 ポリモーフィズムによる条件記述の置き換え 内容 リファクタリング名 ポリモーフィズムによる条件記述の置き換え 適用ケース要約 オブジェクトのタイプによってふるまいを変える…

書籍 リファクタリング−プログラマーの体質改善 | 条件式の単純化 | ガード節による入れ子条件記述の置き換え

パンくず リファクタリング-プログラマーの体質改善テクニック 条件式の単純化 ガード節による入れ子条件記述の置き換え 内容 リファクタリング名 ガード節による入れ子条件記述の置き換え 適用ケース要約 正常な実行経路がはっきりしないような条件分岐を持…

書籍 リファクタリング−プログラマーの体質改善 | 条件式の単純化 | 制御フラグの削除

パンくず リファクタリング-プログラマーの体質改善テクニック 条件式の単純化 制御フラグの削除 内容 リファクタリング名 制御フラグの削除 適用ケース要約 一連の論理式で使われる制御フラグとして機能している変数がある 適用内容要約 代わりにbreakやret…

書籍 リファクタリング−プログラマーの体質改善 | 条件式の単純化 | 重複した条件の断片の統合

パンくず リファクタリング-プログラマーの体質改善テクニック 条件式の単純化 重複した条件の断片の統合 内容 リファクタリング名 重複した条件の断片の統合 適用ケース要約 条件式のすべての分岐に同じコード片が含まれている 適用内容要約 その部分を式の…

書籍 リファクタリング−プログラマーの体質改善 | 条件式の単純化 | 条件記述の統合

パンくず リファクタリング-プログラマーの体質改善テクニック 条件式の単純化 条件記述の統合 内容 リファクタリング名 条件記述の統合 適用ケース要約 同じ結果になる条件テストが複数並んでいる 適用内容要約 それらを1つの条件式にまとめ、メソッドとし…

書籍 リファクタリング−プログラマーの体質改善 | 条件式の単純化 | 条件式の分解

パンくず リファクタリング-プログラマーの体質改善テクニック 条件式の単純化 条件式の分解 内容 リファクタリング名 条件式の分解 適用ケース要約 複雑な条件文(if-then-else)がある 適用内容要約 条件部、"then"部、"else"部からメソッドを抽出する。 …

書籍 リファクタリング−プログラマーの体質改善 | 条件式の単純化

パンくず リファクタリング-プログラマーの体質改善テクニック 条件式の単純化 内容 データの再構成 リファクタリング名 対象 対応 条件記述の分解 複雑な条件文(if-then-else)がある 条件部、"then"部、"else"部からメソッドを抽出する。 条件記述の統合 …

書籍 リファクタリング−プログラマーの体質改善 | データの再編成 | フィールドによるサブクラスの置き換え

パンくず リファクタリング-プログラマーの体質改善テクニック データの再編成 フィールドによるサブクラスの置き換え 内容 リファクタリング名 フィールドによるサブクラスの置き換え 適用ケース要約 定数を返すメソッド以外に違いのないサブクラスがある …

書籍 リファクタリング−プログラマーの体質改善 | データの再編成 | State/Strategyによるタイプコードの置き換え

パンくず リファクタリング-プログラマーの体質改善テクニック データの再編成 State/Strategyによるタイプコードの置き換え 内容 リファクタリング名 State/Strategyによるタイプコードの置き換え 適用ケース要約 クラスのふるまいに影響を与えるタイプコ…

書籍 リファクタリング−プログラマーの体質改善 | データの再編成 | サブクラスによるタイプコードの置き換え

パンくず リファクタリング-プログラマーの体質改善テクニック データの再編成 サブクラスによるタイプコードの置き換え 内容 リファクタリング名 サブクラスによるタイプコードの置き換え 適用ケース要約 クラスのふるまいに影響を与えるタイプコードが使わ…

書籍 リファクタリング−プログラマーの体質改善 | データの再編成 | クラスによるタイプコードの置き換え

パンくず リファクタリング-プログラマーの体質改善テクニック データの再編成 クラスによるタイプコードの置き換え 内容 リファクタリング名 クラスによるタイプコードの置き換え 適用ケース要約 振る舞いに影響しない数字のタイプコードを持つクラスがある…

書籍 リファクタリング−プログラマーの体質改善 | データの再編成 | 双方向関連の単方向への変更

パンくず リファクタリング-プログラマーの体質改善テクニック データの再編成 双方向関連の単方向への変更 内容 リファクタリング名 双方向関連の単方向への変更 適用ケース要約 相互に参照しているが、片方の参照が不要になった場合 適用内容要約 単方向に…

書籍 リファクタリング−プログラマーの体質改善 | データの再編成 | 単方向関連の双方向への変更

パンくず リファクタリング-プログラマーの体質改善テクニック データの再編成 単方向関連の双方向への変更 内容 リファクタリング名 単方向関連の双方向への変更 適用ケース要約 相互に参照が必要なクラスがあるが、片方からの参照しかない 適用内容要約 双…

書籍 リファクタリング−プログラマーの体質改善 | データの再編成 | オブジェクトによる配列の置き換え

パンくず リファクタリング-プログラマーの体質改善テクニック データの再編成 オブジェクトによる配列の置き換え 内容 リファクタリング名 オブジェクトによる配列の置き換え 適用ケース要約 一部の要素が別の意味を持つようなArrayがある 適用内容要約 Arr…

書籍 リファクタリング−プログラマーの体質改善 | データの再編成 | データクラスによるレコードの置き換え

パンくず リファクタリング-プログラマーの体質改善テクニック データの再編成 データクラスによるレコードの置き換え 内容 リファクタリング名 データクラスによるレコードの置き換え 適用ケース要約 古いプログラミング環境のレコード構造とインターフェー…

書籍 リファクタリング−プログラマーの体質改善 | データの再編成 | コレクションのカプセル化

パンくず リファクタリング-プログラマーの体質改善テクニック データの再編成 コレクションのカプセル化 内容 リファクタリング名 コレクションのカプセル化 適用ケース要約 メソッドがコレクションを返している 適用内容要約 メソッドにはコレクションのコ…

書籍 リファクタリング−プログラマーの体質改善 | データの再編成 | フィールドのカプセル化

パンくず リファクタリング-プログラマーの体質改善テクニック データの再編成 フィールドのカプセル化 内容 リファクタリング名 フィールドのカプセル化 適用ケース要約 フィールドがそのまま公開されている 適用内容要約 フィールドを非公開にして、アクセ…

書籍 リファクタリング−プログラマーの体質改善 | データの再編成 | シンボリック定数によるマジックナンバーの置き換え

パンくず リファクタリング-プログラマーの体質改善テクニック データの再編成 シンボリック定数によるマジックナンバーの置き換え 内容 リファクタリング名 シンボリック定数によるマジックナンバーの置き換え 適用ケース要約 意味のある数値が使用されてい…

書籍 リファクタリング−プログラマーの体質改善 | データの再編成 | 観察されるデータの複製

パンくず リファクタリング-プログラマーの体質改善テクニック データの再編成 観察されるデータの複製 内容 リファクタリング名 観察されるデータの複製 適用ケース要約 あるGUIコントロールのみで有効なドメインデータがあり、ドメインメソッドからもアク…

書籍 リファクタリング−プログラマーの体質改善 | データの再編成 | 参照から値への変更

パンくず リファクタリング-プログラマーの体質改善テクニック データの再編成 参照から値への変更 内容 リファクタリング名 参照から値への変更 適用ケース要約 小さくて不変でコントロールが煩わしい参照オブジェクトを持っている。 適用内容要約 そのオブ…

書籍 リファクタリング−プログラマーの体質改善 | データの再編成 | 自己カプセル化フィールド

パンくず リファクタリング-プログラマーの体質改善テクニック データの再編成 自己カプセル化フィールド 内容 リファクタリング名 自己カプセル化フィールド 適用ケース要約 フィールドに直接アクセスしているが、フィールドとの密結合が不都合になってきて…

書籍 リファクタリング−プログラマーの体質改善 | データの再編成

パンくず リファクタリング-プログラマーの体質改善テクニック データの再編成 内容 データの再構成 リファクタリング名 対象 対応 自己カプセル化フィールド フィールドに直接アクセスしているが、フィールドとの密結合が不都合になってきている フィールド…

書籍 リファクタリング−プログラマーの体質改善 | データの再編 | 値から参照への変更

パンくず リファクタリング-プログラマーの体質改善テクニック データの再編 値から参照への変更 内容 リファクタリング名 値から参照への変更 適用ケース要約 同じインスタンスをいくつも生成するクラスがあり、それらのオブジェクトを1個のオブジェクトに…

書籍 リファクタリング−プログラマーの体質改善 | データの再編 | オブジェクトによるデータ値の置き換え

パンくず リファクタリング-プログラマーの体質改善テクニック データの再編 オブジェクトによるデータ値の置き換え 内容 リファクタリング名 オブジェクトによるデータ値の置き換え 適用ケース要約 追加のデータや振る舞いが必要なデータ項目がある 適用内…

書籍 リファクタリング−プログラマーの体質改善 | オブジェクト間での特性の移動 | 局所的拡張の導入

パンくず リファクタリング-プログラマーの体質改善テクニック オブジェクト間での特性の移動 局所的拡張の導入 内容 リファクタリング名 局所的拡張の導入 適用ケース要約 利用中のサーバクラスにメソッドをいくつか追加する必要があるが、クラスを変更でき…

書籍 リファクタリング−プログラマーの体質改善 | オブジェクト間での特性の移動 | 外部メソッドの導入

パンくず リファクタリング-プログラマーの体質改善テクニック オブジェクト間での特性の移動 外部メソッドの導入 内容 リファクタリング名 外部メソッドの導入 適用ケース要約 利用中のサーバクラスにメソッドを追加する必要があるが、そのクラスを変更でき…