YAGNI(You Aren't Going to Need It.) 〜 予想でモノを作るな

XP(エクストリーム・プログラミング)には、YAGNI という言葉があるそうで、

簡単にいうと将来の拡張性を考えた余計な仕組みを入れたりするなと。


本当に必要な機能だけを作れば、プログラムの構造はシンプルになるし、

シンプルなプログラムには機能追加も簡単に楽にできるのだから、

将来要求されたそのときに作ればいいということ。


これは経験則で自分も感じています。

ほっといても複雑化するものですから、よりシンプルにという意識を常に持っておかないと

あっというまにメンテが大変なシステムができちゃいますからね。


今必要な物だけ今作る。


今必要な獲物だけ獲らせていただく、そして山の神様に感謝。みたいに

今必要な機能だけ作らせていただく、そしてコードの神様に感謝。

ぐらいの謙虚な気持ちでいいのかも。


究極、コードは書かないですむように動くのが、バグのないプログラムを作る方法ですよね。

そういえばトールズさんも「本当の戦士には剣など要らぬ」と言ってたなぁ。

ヴィンランド・サガ(2) (アフタヌーンKC)

ヴィンランド・サガ(2) (アフタヌーンKC)

大量にコードを書きまくってから

「本当のプログラマはコードは書かぬ」とかいって死んでみたら

プログラマ冥利に尽きるかも。


元ネタ