Skip to content

私はかつて、常に自分のコードを書き直したくなっていました。他のプログラミング言語を使うことさえ考えたものです。 « コードを書き直せたら、ずっと良くなるのに。 »

ソフトウェアプロジェクトを保守していると、よく目にする光景です。新しく来た人が、すべてを書き直したがります。彼らは常に主観的な主張をします。より保守しやすくなるとか、より安全になるとか、ただよりエレガントになるとか。

もしあなたのコードが実戦で鍛えられたものであれば…正しい本能は保守的になり、現在のコードを維持することです。時にはコードを書き直す必要があります。ミスをした場合や、アーキテクチャを変更しなければならない場合です。 しかしほとんどの場合、古いコードは問題なく、現在のコードを更新することに時間を投資する方が、新たに始めるよりも優れています。

偉大な知識人であるRobin Hanson は、ソフトウェアは経年劣化すると主張しています。彼の主張のひとつは、ソフトウェアエンジニア自身がそう言っているというものです。それがエンジニアの感覚ですが、それが本当かどうかは別問題です。

« Borlandの新しいWindows向けスプレッドシートが出荷される前に、Borlandのカラフルな創業者であるPhilippe Kahnは、Quattro ProはMicrosoft Excelよりもはるかに優れたものになると、プレスで大々的に自慢していました。なぜなら、すべてゼロから書かれたからです。すべて新しいソースコード! まるでソースコードが錆びるかのように。新しいコードの方が古いコードよりも優れているという考えは、明らかに不合理です。古いコードは実際に使われてきました。テストされてきました。多くのバグが見つかり、修正されてきました。何も問題はありません。ハードドライブに置いてあるだけでバグが増えるわけではありません。全く逆です、ベイビー! ソフトウェアは、ガレージに置いてあるだけで錆びる古いDodge Dartのようなものなのでしょうか? ソフトウェアは、すべて新しい素材で作られていないと何か汚らしいテディベアのようなものなのでしょうか? » (Joel Spolsky)

Published by

Post navigation