YAGNI



You Aren't Going to Need It. の略。シンプルな設計をするための合い言葉?

ここしばらくは他人から引き継いだコードをいじっていることが多く、この言葉を痛感している。

人によっては、リッチでファットな作り方を信条とする人がいる。他人から引き継いだプログラムが、そういう感じだとストレスがたまりまくる。自分だったら絶対に作らないであろう機能がてんこもりで、更に拡張性てんでなしのハードコーディングのオンパレードだった場合、いい感じに気がめげる。おもむろに下唇を噛む。眉間に皺が寄る。既にユーザリリースしちゃってると、えいやっと機能を無くしたりするのも一苦労。

自分は面倒くさがりなので、必要な機能まで作らなかったりしますが、それはそれでダメ出しされます。

U2の「Beautiful Day」の一節に「What you don't have you don't need it now」というのがある。直訳すると、あなたが持ってないものは、今あなたには必要ない、という意味。この歌詞には、いつも考えさせられる。迷ったら、やっとけ、買っとけ、行っとけ、という考え方がある。頑張ってお金をためて、欲しいもの買って、みたいな。気づくとそういう資本主義的な流れに組み込まれているが、その時、ふと「迷うってことは必要ないんだ」と割り切ってしまったらどうだろう。究極的には、迷わないための言葉ではないかと思っている。体が勝手に行動する、それだけをやっとけばいいぞ、ということではないだろうか。

ただ垂れ流して書いただけです、特にオチも結論もありません。

Posted: 水 - 5月 24, 2006 at 04:49 午後        


©