2004-08-24(Tue) [長年日記]
■1 『Refactoring to Patterns』
キター!!だけでは申し訳ないので、読んでないけど軽く紹介をば。PDF立ち読み(第2章)もできる。名著の予感、というか名著決定。今後は、本書に目を通さずに「アジャイル開発におけるシンプルな設計とは何か?」について発言しないほうがよさそう。
Ward Cunningham 推薦のことば
書籍の最初に、ギョーカイ著名人による推薦のことばがズラズラとならんでいる。なかでも、Ward Cunninghamのことばは書籍裏表紙にも引用されていて、コーチが「これぞパズルの最後のパーツだ!!」と激しく反応していたのでここでも引いておく:
Now the connection between software patterns and agile development is finally told.
「ついに今やソフトウェアパターンとアジャイル開発との繋がりが示された」といった雰囲気だろうか。私の英語力はアレなので、正確にはどうなのかわからないけれど。
といっても、これだけではどんな本だかわからないので(って書籍タイトルがすべてを言い表しているのだが)、以下でPreface最初の2節を超訳してみる:
この本は何?
本書はリファクタリングとパターンとの融合(marriage)についての本だ。リファクタリングとは既存コードの設計改善プロセスであり、パターンとは繰り返し発生する設計上の問題に対する古典的な解決策である。『Refactoring to Patterns』が提示するのは、新規設計の早い段階でパターンを使うよりも、既存コードの設計を改善するためにパターンを使うほうがよい、という考えだ。この考えが適用できるコードは、書かれたのが何年前であるとか何分前であるとかを問わない。パターンを利用した設計の改善を可能にするために適用するのが、一連の低レベルの設計変換手順(sequences of low-level design transformations)であり、それはリファクタリングとして知られているものだ。
この本のゴールは?
本書は、読者が以下のことをできるように支援する:
- リファクタリングとパターンを組み合わせる方法を理解する
- 既存コードの設計をパターン指向リファクタリング(pattern-directed refactoring)で改善する
- パターン指向リファクタリングを必要とする箇所を認識する
- なぜ、新規設計の早い段階でパターンを使うよりも、既存コードを改善するためにパターンを使うほうがよいのかを学習する
これらのゴールを達成するために、本書では以下のフィーチャを用意した:
- 27のリファクタリングカタログ
- 現実世界(real-world)のコードに基づいたサンプル(おもちゃのコードではない)。
- パターンの記述(現実世界でのパターンのサンプルを含む)。
- 臭い(smells。つまり、問題)のコレクション。臭いのするところパターン指向リファクタリングの必要あり、である。
- 同じパターンを実装する複数のやり方のサンプル
- いつパターンへリファクタするのか、いつパターンへのリファクタを意識するのか、あるいは、いつパターンから離れるべくリファクタするのかのアドバイス
以上、超訳終わり。
赤と黒の栞
このセクションは私のダベり。『PofEAA』と違って初版から栞が埋め込まれている。MFシグネチャーシリーズのテーマカラーに合わせた赤と黒の2本1セット。小粋で強気だな。このシリーズは売れてるのかなぁ。
追記:RtP Wiki
kdさんにお願いして、Wikiを用意してもらった。URLの'「RtP」はarton師父がゴッドファーザーである。お買い上げありがとうございます(1冊目は何だったのだろう)。
MFシリーズについて(いちお)<br>http://capsctrl.que.jp/kdmsnr/wiki/bliki/?SignatureSeriesCriteria
次々と読むべき名著がまた一つ・・・キューイングされすぎです。
お前、100%「パターン指向リファクタリング」ファ(以下割愛)。<br>誰が訳すんだろう。知ってる〜?
http://d.hatena.ne.jp/kennak/20040825#p7<br>WeBLoG<br>[メモ] コピペ<br>-Code Bloat - Radium Software Development -諸悪の根源コピー&ペースト - それゆけ西表島 -諸悪の根源コピー&ペースト2 - それゆけ西表島 -コピペをどう ...
↑ちうか、そもそも訳す予定あるんですかね? PofEAAは翔泳社から出るそうですが。
http://www.kakutani.com/20040803.html#p01 です。でも読んでないので何も言えない……orz.