FrontPage

リファクタリング

パターン指向リファクタリング入門

ここでは、パターン指向リファクタリング入門に出てくる臭いのパターンにそってそのポイントを記述する。

コンストラクタが多すぎる

長すぎるメソッド

複雑な条件記述

基本データ型への執着

見苦しい露出

解決策の散在

クラスインタフェースの不一致

怠け者クラス

巨大なクラス

スイッチ文

組み合わせの爆発的増加

風変わりな解決策

リファクタリング

マーチン・ファウラーのリファクタリング はコードの不吉な臭いによって対処すべきリファクタリングについて記述している。

クラスのインタフェース不一致?

コメント

データクラス?

データの群れ?

  • クラスの抽出?
  • 引数オブジェクトの導入?
  • オブジェクトそのももの受け渡し?

変更の発散?

  • クラスの抽出?

重複したコード?

属性、操作の横恋慕?

不適切な関係?

  • メソッドの移動
  • フィールドの移動?
  • 双方向関連の単方向への変更?
  • 委譲による継承の置き換え?
  • 委譲の隠蔽?

未熟なクラスライブラリ?

  • 外部メソッドの導入?
  • 局所的拡張の導入?

巨大なクラス?

  • クラスの抽出?
  • サブクラスの抽出?
  • インタフェースの抽出?
  • オブジェクトによるデータ値の置き換え?

怠け者クラス?

  • クラスのインライン化?
  • 階層の平坦化?

長すぎるメソッド?

  • メソッドの抽出
  • 問い合わせによる一時変数の置き換え?
  • メソッドオブジェクトによるメソッドの置き換え?
  • 条件記述の分解?


トップ   編集 凍結解除 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2006-12-26 (火) 17:15:34 (6324d)
SmartDoc