新装版 大規模C++ソフトウェアデザイン (ADDISON-WESLEY PROFESSIONAL COMPUTI)

  • ピアソンエデュケーション
3.13
  • (0)
  • (2)
  • (5)
  • (1)
  • (0)
本棚登録 : 43
感想 : 3
本ページはアフィリエイトプログラムによる収益を得ています
  • Amazon.co.jp ・本 (702ページ)
  • / ISBN・EAN: 9784894712782

感想・レビュー・書評

並び替え
表示形式
表示件数
絞り込み
  • 大規模なC++のソフトウェアを作る場合には、数多くのプログラマが参加し、何百万行というコード、何千というクラスを書いてゆくことになる。サブシステム同士ができるだけ干渉しないようにし、コンパイル時間を短縮し、テストを効率的に行うにはどのようにデザインすればよいのか。単なるノウハウにとどまらず、巡回依存性などの概念とそれに対する定量的な指標を導入しながら解説する。

    通常のテキストで解説される「論理デザイン」を補完する、「実装デザイン」を検討する。コンポーネント、パッケージといった実装上の単位を導入。レベル化、絶縁、パッケージという手法によって効率的な開発が可能になる。論理デザインについても、実装デザインの後で解説しているが、この本のエッセンスは実装デザインを徹底的に議論しているところだろう。類書が見当たらないので、貴重な示唆を得られた。

  •  あまり考えずにC++でコードを書くと、ヘッダファイル同士のincludeによるコンパイル時の結合が発生し、少しのコード変更がほぼ全てのコードのコンパイルし直しを引き起こしたりする。この本はC++で大規模なソフトウェアを開発する際に気をつけるべきコンパイル/リンク時間の削減方法や、コンポーネントの設計方法をサンプルコードを多数交えながら解説してくれている。
    ・コンパイル時依存性/リンク時依存性
    ・コンポーネント設計におけるレベル化
    ・絶縁
    については知っておくべきだと思う。

     一つ気をつけなければいけないのは、この本の原典が出版されたのがかなり前であるため、名前空間をまだ実験段階のものとして扱っていること。今のコンパイラならば名前空間はちゃんと使えると考えて良いだろうから、ファイルスコープの関数などはstaticではなく無名名前空間を使うべきだろう。

ジョン・ラコスの作品

  • 話題の本に出会えて、蔵書管理を手軽にできる!ブクログのアプリ AppStoreからダウンロード GooglePlayで手に入れよう
ツイートする
×