だらだらやるよ。

こげつのIT技術メモ

実装パターンのレビュー

ちょっと前ですが読み終わったし需要ありそうなので簡単なレビュー書いてみます。
著者はケント・ベック、他にXPエクストリーム・プログラミング入門とか書いてる人。
価格も安いしうっかり即買いするレベルなんじゃないかなー
どっかのblogでもおまえらケントベック好きだなとかケントベックというだけで買いとか言われてたし。
まあ僕もそのパターンだったんですけどね、内容よかったですよ。

えっと目次

まえがき
1章 はじめに
    ツアーガイド
2章 パターン
3章 プログラミングの理論
    価値
    コミュニケーション
    シンプル
    柔軟性
    原則
    結果の局所化
    繰返しの最小化
    ロジックとデータの一体化
    対称性
    宣言型の表現
    変更頻度
4章 動機
5章 クラス
    クラス
    シンプルなスーパークラス
    修飾的なサブクラス名
    抽象インターフェース
    インターフェース
    別バージョンのインターフェース
    抽象クラス
    バリューオブジェクト
    特化
    サブクラス
    実装クラス
    内部クラス
    インスタンス固有の振る舞い
    条件分岐
    委譲
    プラガブルセレクタ
    匿名内部クラス
    ライブラリクラス
6章 状態
    状態
    アクセス
    直接アクセス
    間接アクセス
    共通の状態
    可変の状態
    外部の状態
    変数
    ローカル変数
    フィールド
    引数
    コレクティングパラメータ
    パラメータオブジェクト
    定数
    役割を示す名前
    宣言される型
    初期化
    早期初期化
    遅延初期化
7章 振る舞い
    制御フロー
    メインフロー
    メッセージ
    選択メッセージ
    二重ディスパッチ
    分割メッセージ
    反転メッセージ
    招待メッセージ
    説明メッセージ
    例外フロー
    ガード条件
    例外
    チェック例外
    例外の伝播
8章 メソッド
    複合メソッド
    意図を示す名前
    メソッドの可視性
    メソッドオブジェクト
    オーバーライドメソッド
    オーバーロードメソッド
    メソッドが返す型
    メソッドのコメント
    ヘルパーメソッド
    デバッグ出力メソッド
    変換
    変換メソッド
    変換コンストラク
    生成
    完全なコンストラク
    ファクトリメソッド
    内部ファクトリ
    コレクション用アクセッサメソッド
    論理値設定メソッド
    クエリーメソッド
    等価性メソッド
    getter メソッド
    setter メソッド
    安全なコピー
9章 コレクション
    メタファー
    問題
    インターフェース
    実装
    コレクションの拡張
10章 フレームワークへの拡張
    アプリケーションを変更させないフレームワークへの変更
    非互換のアップグレード
    互換性のある変更の促進
付録A パフォーマンス測定
    例
    API
    実装
    MethodTimer
    オーバヘッドの打ち消し
    テスト
参考文献
索引

http://www.pej-hed.jp/washo/2635.html

目次見てわかるように、本が薄い割には沢山のこと書いてます。
ただ、内容も薄いわけじゃなくて、コンパクトにまとまってるって感じ。


簡単に言うと、良いコードを書くための小さなテクニックやパターンのを集めた本ですね。
デザインパターンリファクタリングなどを含むけど、もっと細かいレベルで良いコードを書く方法が詰まったエッセイ集とでも言えばいいのかな。
サンプルコードJavaで書かれてるけど、他のオブジェクト指向言語の経験があればJavaの知識はそんなに無くても読めると思います。
Java言語特有のテクニックについての言及は数ページ程度でしたし。


内容ですが、いい感じにまとまってると思います。
たとえばメソッドの粒度をそろえるだとか、セッターメソッドを使いすぎないで、意味のある名前を付けるとか、そういった基本的な事柄を分類して紹介しているのですが、説明が簡潔で分かりやすいのですらすら読めてしまいました。*1


例えば1行で済む処理を名前を持ったメソッドにする意味とか、フレームワークを作る際に、どこまでのイン他フェースを外部に公開するのがよいとか。
コレクションはどんなときにどのクラスを使えばいいのか(これはJava特有かも、C#も同じなのかなー)とか。


良いコードを書きたいけど、コードコンプリートなどの本は本気すぎてしんどいという人や、移動中に読みたいから薄い方がいいと思う人にはおすすめします!

実装パターン
実装パターン
posted with amazlet at 09.02.17
ケント・ベック Kent Beck
ピアソンエデュケーション
売り上げランキング: 940
おすすめ度の平均: 5.0
5 「良いソースコードとは?」への具体的な回答

*1:参考文献で紹介されている本のうちいくつかを僕が読んだことあるのもあるかもですが。