復興を学ぶ(0) - カタログ

ときに再建 どのように再構築します
悪趣味のコード 重複コード(コードの重複) 再編成機能 抽出法(精製機能)
ロング法(長すぎる機能) インライン法(インライン)
大きなクラス(大きすぎてAクラス) インライン温度(一時的なインライン変数)
長いパラメータリスト(パラメータリストが長すぎます) (一時的な変数を置き換えるために、クエリ)クエリで温度を置き換え
発散の変更(発散変動) 変数(説明変数の導入)を説明紹介
ショットガン手術(散弾銃変性式) スプリット一時的な変数(分解一時変数)
フィーチャー羨望(別紙飢餓) パラメータへの割り当てを削除(パラメータの割り当ての除去)
データ塊(泥のパイデータ) (機能置き換えるためにオブジェクト機能)メソッドオブジェクトとメソッドを置き換え
プリミティブオブセッション(基本型パラノイド) 代替アルゴリズム(置き換えアルゴリズム)
switch文(出スリラースイッチ) オブジェクト間の移動特性 移動法(移動機能)
平行InheritanceHierarchies(平行継承システム) フィールド(移動フィールド)を移動
レイジークラス(冗長クラス)  抽出クラス(抽象クラ​​ス)
投機的一般性(大げさなフューチュリティ) インラインクラス(インライン化クラス)
一時的なフィールド(一時的なフィールドを混乱) 隠す委任(非表示「信頼関係」)
(メッセージのリンク連結を介して)メッセージチェーン 削除仲介者(仲介の除去)
ミドル・マン(仲介) 外国法を紹介(組み込まプラス機能)
不適切な親密(Xiani関係) ローカル拡張(ローカルエクステンションの導入)を導入
(クラスに似ている)異なるインタフェースを持つ代替クラス データを再編成 自己カプセル化フィールド(カプセル化フィールドから)
不完全なライブラリクラス(不完全なライブラリクラス) (代わりに、オブジェクト内のデータ値の)オブジェクトを使用したデータ値を置き換えます
データクラス(少年の純粋なデータクラス) 参考まで変化値(オブジェクトを参照するように変更されたオブジェクトの値)
拒否した遺産(レガシー拒否) 値に変更リファレンス(オブジェクトの変更を参照されたオブジェクトの値)
コメント(あまりにも多くのノート) オブジェクト(オブジェクト置換配列)で配列を置き換えます
    重複観測データは、(コピー「は、データを監視し」)
    双方向への変更単方向協会(双方向の関連が双方向の関連付けを変更)
    単方向に変更双方向協会(双方向関連が一方向協会に変更されます)
    シンボル定数とマジックナンバーを交換してください(リテラルのマジックナンバーを交換します)
    カプセル化フィールド(フィールド・パッケージ)
    カプセル化コレクション(セットパッケージ)
    (置換のデータレコードクラスに)データクラスでレコードを置き換え
    クラスとタイプコード(置換のクラスの型コード)を交換
    サブクラスに置き換えタイプコード(サブクラスへの置換型コード)
    置き換え州/戦略とタイプコード(国/戦略には、タイプコードを置換しました)
    フィールドを持つサブクラス(分野で置換サブクラス)を置き換えます
    簡素化された条件式 Decompose Conditional(分解条件表达式)
    Consolidate Conditional Expression(合并条件表达式)
    Consolidate Duplicate Conditional Fragments(合并重复的条件片段)
    Remove Control Flag(移除控制标记)
    Replace Nested Conditional with Guard Clauses(以卫语句取代嵌套条件表达式)
    Replace Conditional with Polymorphism(以多态取代条件表达式)
    Introduce Null Object(引入Null对象)
    Introduce Assertion(引入断言)
    简化函数调用 Rename Method(函数改名)
    Add Parameter(添加参数)
    Remove Parameter(移除参数)
    Separate Query from Modifier(将查询函数和修改函数分离)
    Parameterize Method(令函数携带参数)
    Replace Parameter with Explicit Methods(以明确函数取代参数)
    Preserve Whole Object(保持对象完整)
    Replace Parameter with Methods(以函数取代参数)
    Introduce Parameter Object(引入参数对象)
    Remove Setting Method(移除设值函数)
    Hide Method(隐藏函数)
    Replace Constructor with Factory Method(以工厂函数取代构造函数)
    Encapsulate Downcast(封装向下转型)
    Replace Error Code with Exception(以异常取代错误码)
    Replace Exception with Test(以测试取代异常)
    处理概括关系 Pull Up Field(字段上移)
    Pull Up Method(函数上移)
    Pull Up Constructor Body(构造函数本体上移)
    Push Down Method(函数下移)
    Push Down Field(字段下移)
    Extract Subclass(提炼子类)
    Extract Superclass(提炼超类)
    Extract Interface(提炼接口)
    Collapse Hierarchy(折叠继承体系)
    Form Tem Plate Method(塑造模板函数)
    Replace Inheritance with Delegation(以委托取代继承)
    Replace Delegation with Inheritance(以继承取代委托)
    大型重构  Tease Apart Inheritance(梳理并分解继承体系)
    Convert Procedural Design to Objects(将过程化设计转化为对象设计)
    Separate Domain from Presentation(将领域和表述/显示分离)
    Extract Hierarchy(提炼继承体系)

 

 

おすすめ

転載: www.cnblogs.com/youknowzcm/p/11847812.html