ObjectSquare [2003 年 7 月号]

[技術書籍紹介]


ケント・ベックのSmalltalkベストプラクティス・パターン

シンプル・デザインへの宝石集

Smalltalkベストプラクティス・パターン ケント・ベック著
梅澤 真史/小黒 直樹/皆川 誠/森島 みどり 訳

ピアソン・エデュケーション刊
ISBN:4-89471-754-9




本書は、XPの生みの親であるKent Beck氏が1996年に刊行した「Smalltalk Best Practice Patterns」の邦訳本です。

良いソフトウェアはコーディングからというKent Beck氏の理念に基づき、コーディングがきちんとできるということ、コードに耳を傾けることがいかに大切かということを教えてくれる内容となっています。

コーディングを中心に、良いプログラムを書くためのテクニックが92のパターンとして紹介されています。それらは、

  • オブジェクトや変数、メソッドにどのような名前をつけるか?
  • プログラムを複数のメソッドに分割するにはどうするか?
  • 変数に直接アクセスするか、間接アクセスするか?
と言った日々のプログラミングの小さな疑問に答えるものから、Double DispatchやPluggable Behaviorのような知らなければ使えないようなテクニックまで多岐に渡っています。

本書は、以下のような方々にお勧めします。

・Smalltalkを勉強したい方 --- 本書のパターンはSmallktalkを使用して書かれています。そのため、本書の一番の読者は、やはりSmalltalkを学びたいと思っている方々でしょう。文法はなんとなくわかったけれども、いったいどのようにその先に進めばいいのかわからない方にとって、Smalltalkらしい(そしてオブジェクト指向らしい)コーディング・テクニックを身に付ける助けとなるでしょう。

・XPやリファクタリングに興味のある方 --- 本書は、Kent Beck氏がリファクタリングやXPを世に発表する前に執筆した本です。そのため、リファクタリングやXPにつながるBeck氏の考えのルーツを、本書の全般を通して読み取ることができます。

・すべてのOO技術者 --- 本書のパターンはSmalltalkを使って書かれていますが、もちろん他のオブジェクト指向言語に応用できるものが数多くあります。また、上述のように、コードに耳を傾けるということは、どのプログラミング言語を使用していてもとても大切な事柄です。




■内容

第1章では、良いソフトウェア、良いコーディングとは何かについて述べています。
リファクタリングやXPへとつながるKent Beck氏のプログラミングに関する一貫した考えが語られています。

第2章では、パターンの有効性について述べています。また、パターンの役割やフォーマットについて述べられています。

第3章では、メソッドとメッセージに関するパターンを解説しています。
新しいメソッドを作ることによって解ける問題を扱っています。ある種のメソッドは、他のパターンとも関連しているので、メソッドに関するパターンは他の章にも登場するものがあります。

第4章では、状態に関するパターンを解説しています。
この章では、2種類の状態(インスタンス変数と一時変数)について取り上げられています。
アクセッサメソッドを使うか直接変数アクセスをするかといった賛否両論のあるトピックについても扱っています。

第5章では、コレクションに関するパターンを解説しています。
Smalltalkの強みの1つは、コレクションに関するクラスが豊富であることです。
これらのコレクションをいかに上手く使用するかによって、コードの速さ、読みやすさ、柔軟性、拡張性も大きく変わってきます。
この章では、この強力なコレクションクラスを上手く使いこなすための方法が紹介されています。

第6章では、クラスに関するパターンを解説しています。
クラスにどのような名前をつけるかと言ったパターンが取り上げられています。

第7章では、コードのフォーマット・スタイルに関するパターンを紹介しています。

第8章では、これまでの章で解説されたパターンを使用して、簡単なサンプル・プログラムを作成しています。この章を読めば、どのように実際のコーディングにパターンを適用していけば良いかが分かるでしょう。




■目次

  • 第1章 イントロダクション
    • 1.1 コーディング
            語りかけるプログラム
    • 1.2 良いソフトウェア
    • 1.3 スタイル
    • 1.4 扱わない事項
    • 1.5 本書の構成
    • 1.6 適用
    • 1.7 パターンの学び方
  • 第2章 パターン
    • 2.1 なぜパターンが有効なのか
    • 2.2 パターンの役割
    • 2.3 フォーマット
  • 第3章 振る舞い
    • 3.1 メソッド
    • 3.2 メッセージ
  • 第4章 状態
    • 4.1 インスタンス変数
    • 4.2 一時変数
  • 第5章 コレクション
    • 5.1 クラス
    • 5.2 コレクションプロトコル
    • 5.3 コレクションイディオム
  • 第6章 クラス
  • 第7章 フォーマット
  • 第8章 開発例
    • 8.1 問題
    • 8.2 スタート
    • 8.3 計算
    • 8.4 統合
    • 8.5 まとめ
  • 付録A クイック・リファレンス

■参照




記事の内容を5点満点で評価してください。
1点 2点 3点 4点 5点
記事に関するコメントがあれば併せてご記入ください。

© 2003 OGIS-RI Co., Ltd.
HOME HOME TOP オブジェクトの広場 TOP