コード・シンプリシティ
ソフトウェアの簡潔性を保つ事実、法則、真理
(オライリージャパン)
Max Kanat-alexander (著)
福嶋雅子、 株式会社トップスタジオ(翻訳)
原書: Code Simplicity
The Science of Software Development
今日読んだ本と感想。
Bugzillaプロジェクトの主任設計者の実体験に基づいた、ソフトウェアの簡潔性を保つさまざまな知見をまとめた書籍。「なぜ簡潔性が大事なのか」「変更の価値を計るための方程式」「コードの簡潔性と複雑性」といったトピックについて、事実、法則、ルール、定義などを示しながら解説します。直接的なコードの書き方だけでなく、ソフトウェアプロダクト全体にわたるコードの健全性を保つためのヒントとなるでしょう。
目次
まえがき
- 1章 はじめに
- なぜ簡潔性が大事なのか
- ソフトウェアデザイン
- 2章 なぜソフトウェアを作るのか
- 実際のアプリケーション
- 3章 未来
- ソフトウェアデザインの方程式
- デザインの品質
- 見えない結末
- 4章 変更
- プログラム変更の実例からわかること
- 3つの間違い
- インクリメンタルな開発とデザイン
- 5章 不具合とデザイン
- 故障でなければ……
- 何度も同じことを繰り返さない
- 6章 簡潔性
- 簡潔性とソフトウェアデザインの方程式
- 簡潔性は相対的なもの
- どこまで簡潔にするか
- 一貫性を保つ
- 読みやすさ
- 名前の付け方
- 簡潔性に必要なのはデザイン
- 7章 複雑性
- 複雑性と目的
- 間違った技術
- 複雑性と間違った解決
- 複雑な問題
- 複雑性への対応
- 書き直し
- 8章 テスト
- 付録A ソフトウェアデザインの法則
- 付録B 事実、法則、ルール、定義
内容は、簡単だったり、当たり前だったり、冷静に考えればすぐ分かりそうな事ばかりだけど、言われてみるとはっとさせられたり、確かにそうだ思ったりすることが多かった。プログラムのコードのこともそうだけど、それ以外の事でも、当然のこと、当たり前のことほど、灯台下暗しじゃないけど忘れがちなことが多いということに気づく事ができた。速く進むためには、前を見て、先に先に進む事も大事だけど、足下もしっかり見て、そして固めながら進むことも大切な事だと感じた。
ちょっとした事をを忘れているだけで、問題はどんどん複雑になったり深刻になったりしていき、後々大変な事になっていくということ、そして後々大変な事にならないで済むようにする方法を学ぶ事ができて良かった。
具体的な内容の他に、文章の感じは「すべき」とか説教っぽい言い方が多く、そういう文章はあまり好きではないのに、すらすらと気持ちよく読み進めることが出来た。それは、その理論や理由がしっかりとしたもので、そしてその説明が容易で分かりやすかったから。
ということで、てこの原理じゃないけど、ちょっとした事を忘れずに気をつけるだけで、得るものがとても多いということ(逆に言えばちょっとした事を忘れてただけで、とても多くのものを失うということ)があるということを、あらためて感じた今日この頃。
0 コメント:
コメントを投稿