Tbpgr Blog

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

書籍 Refactoring to Patterns | Preface

パンくず

書籍 Refactoring to Patterns
Preface

概要

書籍 Refactoring to Patternsの内容・目的・ターゲット・必要なバックグラウンド・
どのようにこの書籍を利用するかなどに関する序文。

詳細

about

この書籍ではパターンによるリファクタリングでシステムを改善する手法がまとめられている

goal

goal

  • リファクタリングとパターンの結びつきについて理解すること
  • パターンによるリファクタリングで既存コードを改善すること
  • パターンによるリファクタリングが必要となるコード範囲を特定できること
  • パターンによる既存コードの改善をする方が、新規設計時にパターンを適用するよりも優れていることを覚えること

feature to achieve goal

  • 27のリファクタリングカタログ
  • おもちゃの素材でなく、実世界のコードによる例示
  • 実世界のパターン例を含んだパターンの説明
  • パターンによるリファクタリングを必要とするコードの『臭い』コレクション
  • 同様のパターンを実装する別の方法の例示
  • パターンによるリファクタリングを行うタイミングと終了するタイミングに関するアドバイス
target

既存コードの設計改善に興味があり、オブジェクト指向開発に従事しているプログラマーを対象としている。

necessary background

以下のような密結合・疎結合について精通していること。

など。

説明にはJavaを使用してあります。
(※このサイトでは原文のサンプルをRubyに置き換えて説明します)

当書籍はMartin Fowlerのリファクタリング本『リファクタリング―プログラムの体質改善テクニック 』と密接に関係しています。
件の書籍で記されている、低レベルのリファクタリング手法は
当書籍を読むために必須ではありませんが、最大限の理解を得るためには
すぐそばに『リファクタリング―プログラムの体質改善テクニック 』を置いておくことをお勧めします。

また、Kent Beckの『Desing Patterns』もパターンの理解の助力となります。
ただし、あなたがこのパターンのエキスパートである必要はありません。
当書籍ではあなたの理解を助けるために簡潔なパターンの概要を記します。

この本はUML2.0の図を使用しています。

how to use this book

当書籍のリファクタリングを高いレベルで理解するために、
利益と負債の蓄積として知られる各リファクタリングの要約を勉強することから始めることができます。
さらに深い理解のためにすべてのリファクタリングパートを学習することができます。

当書籍で解説されていて、『リファクタリング−プログラムの体質改善テクニック』でも紹介されている、
『コードの臭い』は設計の問題点を特定するための便利な手段です。

History

当書籍は1999年から書き始めた。

当初、この書籍を書くにあたりいくつかの力が働いた。
・パターン
リファクタリング
・XP
など。

まず、XPの文献にパターンが記述されていなかったこと。
次に、Martin Fowlerの『リファクタリング−プログラムの体質改善テクニック』に掲載されている
わずかなリファクタリングがあり、Fowlerが他の開発者がより多くの手法を紹介することを望んでいたこと。
最後に、デザインパターンのワークショップにいる人々に、現実にデザインを適用するためのより多くの
助力が必要であることに気づかされたことです。
彼らには実際の開発でどのようなパターンによるリファクタリングが行われ、
それがどのような意味を持つかを知りたがっていたのです。

Standing on the Shoulder of Giant

当書籍はMartin Fowler,Kent Beck,Erich Gamma,Richard Helm,Ralph Jonson,John
Vlissides,William Opdyke,Jonh Brant,DonRobertsなどの偉大な先人や、彼らが書いた
『Design Patterns』『Refactoring』などの礎の元に成り立っています。