Home
 

Home > コンピュータ・一般書 > プログラミング・開発 > その他 > 新装版 リファクタリング 既存のコードを安全に改善する

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

・著者:Martin Fowler 著/児玉公信・友野晶夫・平澤 章・梅澤真史 共訳978-4-274-05019-0
・定価:4,536 円(本体4,200 円+税)
・B5変 488頁

・ISBN

・発売日


かごに入れる

※本体価格は変更される場合があります。
※通常2〜3日以内で発送いたします。

合計5000円(税別)以上のご注文の場合、配送料は無料となります。

レガシーコードを一刀両断! 蘇るあの名著

 

プログラムに潜む扱いにくい部分を見つけ出し、その動作を変えずに内部の構造を改善していくためのテクニックを整理したマーティン・ファウラー氏によるソフトウェア開発の名著『リファクタリング プログラミングの体質改善テクニック』("Refactoring:Improving the Design of Existing Code")が、オリジナルの訳者による丁寧な見直しと現代的なJava開発環境による「再リファクタリング」を施した書き下ろし付録を収録して再発行!

旧版の価値を知るベテランはもちろん、これからソフトウェア開発に携わる新人にも必読の一冊です。

2014/07
★このような方におすすめ
プログラマー 旧リファクタリングの読者
主要目次
本書に寄せて
はじめに
第1章  リファクタリング ― 最初の例
第2章  リファクタリングの原則
第3章  コードの不吉な臭い
第4章  テストの構築
第5章  リファクタリング・カタログに向けて
第6章  メソッドの構成
第7章  オブジェクト間での特性の移動
第8章  データの再編成
第9章  条件記述の単純化
第10章 メソッド呼び出しの単純化
第11章 継承の取り扱い
第12章 大きなリファクタリング
第13章 リファクタリング、再利用、現実
第14章 リファクタリングツール
第15章 部品から全体へ
付録 Java のバージョンアップに伴うリファクタリングをめぐる環境の変化

参考文献
リファクタリングのヒント
訳者あとがき

索引
リファクタリングのヒント
索引
訳者あとがき
ページトップへ戻る
詳細目次
日本語版の再出版にあたって
 謝辞
本書に寄せて
はじめに
 リファクタリングとは
 本書の内容
 本書の対象となる読者
 先人の礎の上に
 謝辞

第1章 リファクタリング最初の例
 スタート地点
 リファクタリングの第一歩
 statement メソッドの分割、再配置
 料金計算の条件文をポリモーフィズムに置き換える
 まとめ

第2章 リファクタリングの原則
 リファクタリングの定義
 リファクタリングを行う理由
 いつリファクタリングをすべきか
 管理者を説得するには
 リファクタリングの問題点
 リファクタリングと設計
 リファクタリングとパフォーマンス
 リファクタリングの起源

第3章 コードの不吉な臭い
 重複したコード
 長すぎるメソッド
 巨大なクラス
 長すぎるパラメータリスト
 変更の偏り
 変更の分散
 特性の横恋慕
 データの群れ
 基本データ型への執着
 スイッチ文
 パラレル継承
 怠け者クラス
 疑わしき一般化
 一時的属性
 メッセージの連鎖
 仲介人
 不適切な関係
 クラスのインタフェース不一致
 未熟なクラスライブラリ
 データクラス
 相続拒否
 コメント

第4章  テストの構築
 自己テストコードの意義
 JUnit テストフレームワーク
 テストの追加

第5章  リファクタリング・カタログに向けて
 リファクタリングの形式
 参照の検索
 本書のリファクタリングの成熟度

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

第7章 オブジェクト間での特性の移動
 メソッドの移動
 フィールドの移動
 クラスの抽出
 クラスのインライン化
 委譲の隠蔽
 仲介人の除去
 外部メソッドの導入
 局所的拡張の導入

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

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

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

第11章 継承の取り扱い
 フィールドの引き上げ
 メソッドの引き上げ
 コンストラクタ本体の引き上げ
 メソッドの引き下げ
 フィールドの引き下げ
 サブクラスの抽出
 スーパークラスの抽出
 インタフェースの抽出
 階層の平坦化
 Template Method の形成
 委譲による継承の置き換え
 継承による委譲の置き換え

第12章 大きなリファクタリング
 継承の切り離し
 手続き的な設計からオブジェクト指向への変換
 プレゼンテーションとドメインの分離
 階層の抽出

第13章 リファクタリング、再利用、現実
 現実の壁
 開発者が自分たちのプログラムをリファクタリングしようと思わない理由
 現実の壁(再び)
 リファクタリングのリソースと参考文献
 ソフトウェア再利用および技術移転に与える影響
 最後に
 参考文献

第14章 リファクタリングツール
 ツールを用いたリファクタリング
 リファクタリングツールの技術的規範
 リファクタリングツールの実践的規範
 まとめ

第15章 部品から全体へ

付録  Java のバージョンアップに伴うリファクタリングをめぐる環境の変化
 Java の進歩
 テスティングフレームワークの進歩
 Java 7 で本書コードを再びリファクタリングする

参考文献
リファクタリングのヒント
訳者あとがき

索引
ページトップへ戻る