吉原です こんにちは。
> 田中靖宏です。
> 「You are NOT gonna need it.」という言葉を見たとき、最近ベストセラーに
> なった『「捨てる!」技術』の思想に近いなあと思いました。
>
> もしものときのためにとっておく、という行為がシステムを複雑にしている場
> 面によく出会います。
なるほど、'YAGNI'は、「明日にならないと必要とされない機能のために、追加のコードを
今日書くことはしてはいけない」と言われているのが一般的なようですが、
田中さんは、「必要ない過去のコードに固執するな」と言われているのですね。
この事が'YAGNI'になるのであれば、既存のシステムをバージョンアップや、
修正する前のリファクタリング作業で、必要の無い過去のコードを省いたりするこ
とは(これもリファクタリングと言えるなら)、
「リファクタリングはYAGNI原則に違反していない」事になるようですが?
> ただ、XPほどテストが行なわれていない既存のシステムでは、おいそれと過
> 去のコードを捨てられないのも事実。
> こういうときに CVSなどのバージョン管理システムの導入は効果がありそうで
> す。コードはシンプルに保てるし、もしものときには過去のコードを引っ張り
> 出せますしね。
>
NSW
吉原 日出彦
hyoshihara@....jp