13章二つのシステムの物語
建築は、空間を無駄にする方法の芸術である。
――フィリップ・ジョンソン
ソフトウェアシステムは都市のようなものです。幹線道路とホテル、裏道とビルの複雑なネットワークです。混雑した都市では多くのことが行われています。制御の流れは継続的に生まれ、流れは都市の中に流れ込み、そして消えていきます。多くのデータが集められ、蓄えられ、そして破棄されます。さまざまなビルがあります。高く美しいビルやずんぐりだけれど機能的なビルもあります。しかし、他のビルは老朽化し荒廃しています。データがビルの回りを流れる際に、交通渋滞、ラッシュアワー、道路工事に遭遇します。ソフトウェア都市の品質は、その中にどれだけ多くの都市計画が盛り込まれたかにより決まります。
中には幸運なソフトウェアシステムがあります。経験を積んだアーキテクトにより綿密に設計されているのです。優雅さと調和の感覚を持って構築されています。きちんと地図が描かれており、通行が容易です。しかし、他のソフトウェアシステムはそれほど幸運ではありません。何らかのコードを偶然集めたものの上に広がったソフトウェア居住地です。交通基盤は不適切であり、ビルは魅力がなく退屈です。その中に入り込むと、出口を見つけようとして迷子になります。
コードはどこに住むのがよいのでしょうか。どのような種類のソフトウェア都市を構築したらよいのでしょうか。
この章では、二つのソフトウェア都市の物語を話します。それは実話であり、すべての逸話と同じように、物語の最後に教訓があります。経験は優れた教師だと言われますが、他人の経験の方が優れていることもあります。この章で述べられるプロジェクトの失敗と成功から学ぶことができれば、あなた自身とあなたのソフトウェアから多くの苦痛が減るかもしれません。 ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access