2009/04/03

データ構造の重要性

小飼さんのデバッグより重要なものというエントリーで、下の部分を読んで、ふと、ある本の内容を思い出しました。

デバッグよりもはるかに重要なもの、それはデータ構造の選定。

ここで一歩間違えると、バグが仕様化し、デバッグどころかバグにあわせてプログラムを書かねばならぬ羽目になる。

via:デバッグより重要なもの

思い出した本とはこちらです↓


本書では、デバッグとデータ構造の重要性の比較ではなく、コードとデータ構造の比較を論じていて、データ構造をいかに制すかによって、その後が決まってくるか、第一章のしょっぱなから、書いてあったことを思い出しました。

一部引用させていただきます。

p47〜1.6 Unix思想の基礎より
データはプログラムロジックよりも御しやすい。だからデータ構造を複雑にするか、コードを複雑にするかを選ばなければならなくなったら、迷わず前者を選ぶべきだ。

当時、データ構造とコードの複雑性どちらをとるべきか、すごく悩んでいた時に読んだので、なんか指針みたいなものを掴んだような気がして、助かった記憶があります。
(もちろん、ソースもデータも複雑にならない方がいいのですが。)

また、以前、勤めていた先輩社員も、お客さんとシステム設計の話をしていて、ソースを複雑にするか、データを複雑に話し合った結果、先輩社員は、データの複雑性をとったそうです。
(システム構築後、だいぶ後に、先輩社員から直接聞きました。)

と言った意味でも、やはりデータ構造をきちんと考えることって大事なんだなと改めて実感した次第です。
(というわけで、本書をちょくちょく使うので、T.Satoさんに貸せない状態です。。。 orz)

0 コメント:

コメントを投稿