2008-04-15

プレファクタリング -- リファクタリング軽減のための新設計 ([著]Ken Pugh, [訳]木下哲也/有限会社 福龍興業, [版]オライリー・ジャパン)

作業机の隅に積み上げられた本の中にあったもの。気が向いたので、ちょっと読んでみる気になった。

1章「プレファクタリングの概要」と2章「非常に多くの言葉で表されるシステム」を読み終わったところ。

プレファクタリングとは何か? 1章を読んでわかる範囲で書くと「ソフトウェア開発における様々な経験をもとにした知識を指針として、リファクタリングが少なくなるように、あるいはしやすくなるようにプログラムを設計・実装すること」となるか。ちょっと長いか。一言で書くなら・・・「きちんと作りましょう」ってことだな。

その経験をもとにした知識の中でも、中心になるのが「3つの極度」として挙げられているもの。すなわち:

  1. 極度の抽象化 (Extreme Abstraction)
  2. 極度の分離 (Extreme Separation)
  3. 極度の読みやすさ (Extreme Readability)

2章ではサンプルシステムのユースケース定義というか分析が書かれているのだけど、はやくも「極度の抽象化」の一端が現れる。要は、ADT (Abstract Data Type)を使いましょう、ということで、「極度の」というのは基本データタイプ(C++やJavaの int とか)を一切使わずに考えろ、ということ。さらに String も基本データ型と見なすぞ、となる。これがリファクタリングを少なくするかどうかは微妙だけど、ADT の使用を徹底しておけばリファクタリングしやすくなることは確かだ。

分離と読みやすさはまだ出てきていない。分離は「関心事の分離」だからわかるけれど、それの「極度(Extreme)」なものって何だろう? 読みやすさの「極度」になると、ちょっと見当が付かない。

0 件のコメント:

コメントを投稿