良い手本になろう - PART2 |
||
|
なぜ美しいのか |
||
|
こんどは、良くできたプログラムを引き継ぐ場合を考えてみましょう。プログラム全体の見通しが良ければ、新しい機能を追加するのが簡単です。どの部分を拡張すれば良いかを見つけるのが簡単だし、拡張する時に考慮しなければならない範囲も比較的狭いでしょう。これは、スパゲティコードに手を加える時とは全く逆です。悪いプログラムを拡張するときは、どこから手をつけたらいいのか分からないし、ちょっといじると全然関係なさそうな部分がおかしくなったりします(そのせいで痛い目にあった人は多いでしょう。はい、私もです)。良いプログラムでは、そういう苦労をしなくて済みます。 |
||
|
プログラムの見通しが良いのは、設計がうまくできているからです。上手な設計者は、各サブシステムの機能を明確にしようとします。それぞれの部分が何のために存在して、どんな役割をはたしているのかということを、意図的に際立たせようとします。そうすることによって、第三者が見た時に見通しが良いと感じるシステムが出来上がります。見通しが良いシステムは、「美しさ」や「エレガンス」とも言うべきものを備えていることが多いようです。 |
||
残したいと思うもの |
||
|
さて、あなたは誰かが作ったプログラムを引き継いで、新機能を追加しなければなりません。引き継いだプログラムを見た時に「美しいな」と感じたら、どうしようと思うでしょうか?自分がスパゲティ状態にして他の誰かに引き継いでやろうと思うでしょうか?そんなはずないですね。きっと、「このすばらしい状態を保ちたい」と思うでしょう。これは、ひとたび良い設計をすれば、それがいつまでも引き継がれていくということです。 |
||
|
--- 設計は、受け継がれるものなり(良くも悪くも) --- |
||
|
良い設計者は、現在においてもっとも効率の良い方法はなんだろうと考えます。もっと良い設計者は、将来自分のシステムを引き継いで改造することになるであろう次の設計者がどんな行動をとるかということまで設計に取り入れようとします。 |
||
|
|
|
|
|||||
(「コーディングの向こう側」は2000年4月から2001年5月にかけて作成されたコンテンツです。)