December 2017
Intermediate to advanced
376 pages
4h 22m
Japanese
単純さは素晴らしい美徳であるが、単純さを達成するための努力と、
単純さの真価を認めるための教育を必要とする。
そして、物事を悪化させるには、複雑にするのがよい。
――エドガー・ダイクストラ
コードは複雑です。私達全員は、この複雑さと日々戦わなければなりません。
複雑なコードを書くことは簡単にできてしまいます。注意を払っていないときにも起きます。事前に十分に計画していないときにも起きます。「単純な」問題に取り組み始めたけれど、めったに発生しないケースを見つけたことで、それを反映するためにアルゴリズムを拡張した時にも複雑さは発生します。
私の観察では、ソフトウェアの複雑さは三つの原因から発生します。まず、ブロブ(blob)と線。
そして、それらを組み合わせたときに得られるもの、すなわち人です。
この章ではそれぞれを見ていき、優れたソフトウェアを書くために何を学べるかを見ていきます。
私達が考えるべきソフトウェアの複雑さの最初の部分はブロブ、すなわち私達が書くコンポーネントに関連しています。このブロブの大きさと数が複雑さを決定します。
ソフトウェアの複雑さは、大きさによってもたらされる結果です。プロジェクトが大きくなればなるほど、必要なブロブの数は増えて、理解するのも扱うのも困難になります。これは、 ...
Read now
Unlock full access