YAGNI(今必要な機能だけを作れ)

You aren't going to need it.(それは必要にならない)

XPの言葉だそうで、さっき知った。プログラミングであまり先のことを、例えば再利用性とか考えすぎると、当てが外れたときに余計な複雑性が残ってしまって良くないという教訓らしい。

ぼくも学生のころはC++覚え立てで、コード書くのが楽しくて使わないものをたくさん作った気がする。今もそんなに変わらないけど。

あるときサークルの先輩から、「使わない関数作っちゃダメだよ」と言われたのがすごい印象に残っている。

それ以来、ほどほどの仕様や、ほどほどの設計、ほどほどのリファクタリングを意識するようになった。

そうそう、リファクタリングもほどほどに。勢い余ると美しさを求めて余計な設計を始めちゃう。