3章複雑さに対処する

以下のパズルを直感に従って解いてください。数学や計算を使ってはいけません。

野球のバットとボールがあり、合計1.10ドルです。バットの値段はボールよりも1ドル高いです。ボールはいくらでしょうか?(図3-1

野球のバットとボール

図3-1 野球のバットとボール

すぐに答えを出してメモしておいてください。

これは簡単な問題かもしれません。本書はエンジニアリングについてのもので、高い知的水準を求めるので、たぶん罠があるのではないかと疑うことでしょう。

バットとボールの話はあとで触れます。

本章では、一歩引いて根本的な問いに対して回答を試みます。なぜソフトウェア開発はこんなにも難しいのかです。

それに対する回答も同じように根本的なものです。それは人間の脳の働きに関係しているからです。これが本書全体の中心的な主張です。脳に収まるコードをどう書けばよいかを議論する前に、何が脳に収まるのかを議論しなければいけません。

次の章以降では、その知識を実践に移します。

3.1 目的

最初の2つの章を読んでがっかりしたかもしれません。ソフトウェアエンジニアリングは知的で洗練されていて、奥深くて難解な分野だと思っていたのではないでしょうか。これまで見てきたものよりも洗練するのは簡単ですが、どこかから始めなければいけません。簡単なところから始めるのはどうでしょうか? 図3-2で示すように、山登りは平坦から始まります。

図3-2 山登りは平坦から始まる

話を続ける前に立ち止まって、私たちが解決しようとしている問題について議論したいと思います。どんな問題なのでしょうか? ...

Get 脳に収まるコードの書き方 ―複雑さを避け持続可能にするための経験則とテクニック now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.