i386kobaのWikiによる備忘録

よいソフトウェアデザインの3つの素質 無精、短気、傲慢

無精-laziness.

本来ならより高いレベルの抽象化(ループやサブルーチンでもかまわない)を導入すべき局面で、カットアンドペーストで済ませてしまうという罠に陥りがちである。
これは偽りの無精の一形態である。

傲慢-hubris.

また、これとは正反対の極端に、本来ならカットアンドペーストで済ませるべきところを、どんどん高レベルの抽象化の山を築き上げてしまう人たちもいる。
これは偽りの傲慢の一形態である。
しかし、一般的に言って、われわれのほとんどは、より少なくというよりは、
より多く抽象化を行うことを心がけるべきである。

短気-impatience.

この両極端の中ほどには、どのくらいの抽象化が適切かを知っているバランスの取れた視点の持ち主がいる。
しかし、彼らは、本来なら既存のコードを再利用すべきところを、早まって新規に自分で抽象化を実装してしまうのだ。
これは偽りの短気である。
しかし、どうしても車輪を再発明したいのなら、少なくとも既存のものよりも、ましなものを目指すべきである.

これらのどれかを行う際には、

長い目で見て、あなたの隣人に対してどれがもっとも大きな利益をもたらすかを、冷静に判断すべきである。
もし、あなたの想像力をひとたまりのコードにつぎ込むなら、世界がより良い場所になるようにしようではないか。
プログラムがとりあえず動けばよいと考えている場合でも、適切な生態的ニッチに収まるように配慮する必要がある。
生態学的に生き延びるプログラミングへの第一歩は簡単なことである.

By Larry Wall

コメントをかく


「http://」を含む投稿は禁止されています。

利用規約をご確認のうえご記入下さい

管理人/副管理人のみ編集できます