YAGNI原則
「余計な機能を付けるな!」だよ
「必要になってから付けろ!」だよ
「YAGNI」は「You ain't gonna need it」もしくは「You aren't gonna need it」の略だよ
簡単に書くよ
YAGNI原則(読:ヤグニゲンソク 英:YAGNI Principle)とは
「今の時点で必要ない余計な機能は付けるな!実際に必要になってから付けろ!」な考えを格言っぽく言ってみた用語
です。
詳しく書くよ
サクっと一言で説明すると
余計な機能を付けるな!
的なことをカッコ付けて言った表現が「YAGNI原則」です。
単に「YAGNI」と表現されることも あります。
「YAGNI」の部分は「You ain't gonna need it」もしくは「You aren't gonna need it」の略だそうです。
意味は「あなたは、それが必要にならないだろう(≒そんなの、いらないよ)」ですかね。
気が向いたら、覚えてあげてください。
例えば、そうですね。
ピヨ太君がピヨ子さんから「ボタンを押すと苺ショートが出てくる箱が欲しい」と頼まれました。
ピヨ太君は狂気のマッドサイエンティスト見習いです。
ピヨ子さんの無茶振りにも慣れています。
早速、ボタンを押すと苺ショートが出てくる箱を作りました。
ここでピヨ太君は考えました。
「ブッシュ・ド・ノエルも出てきたら嬉しさ2倍だよね?」と。
そこでピヨ太君はボタンを2つにしました。
赤いボタンを押すと苺ショートが出てきます。
青いボタンを押すとブッシュ・ド・ノエルが出てきます。
ピヨ太君は、この箱をピヨ子さんにあげました。
ピヨ子さんは大喜びです。
赤いボタンを押しまくって、苺ショートを食べまくります。
えっ?
青いボタンですか?
押しませんよ。
だって、ピヨ子さんが食べたいのは苺ショートですから。
結局、ピヨ太君が親切心で付けた青いボタンは押されることがありませんでした。
無駄骨、バンザイ!
人というのは張り切るものです。
「こんな機能があったら便利だろうな~」とか「こんなことができたら楽だろうな~」とか考えて、必ずしも必要ではない便利機能を付けたくなります。
サービス精神が旺盛な人ほど、その傾向は強いでしょう。
ところが、ですね。
当たり前の話ですが、その便利機能を付けるには、お金や時間がかかります。
必要最低限の機能で留めるよりもコストがかかるわけです。
さらに、その便利機能が必ずしも使ってもらえるとは限りません。
あくまで付加的な機能ですからね。
なくても困らないといえば困らないはずです。
さらに、その便利機能があることによって、操作性が複雑になる可能性があります。
ボタンが1つから2つに増えたりしますからね。
できることが増えるということは覚えるべきことも増えるということです。
そんな諸々を考えると、必ずしも必要ではない便利機能を付けることは「利」よりも「害」の方が大きくなります。
だから余計な機能を付けるのは止めましょう。
その便利機能は必要になったときに付ければ良いじゃありませんか。
そんな考え方を格言っぽく言ったのが「YAGNI原則」です。
実際には「予想で作ると実際に必要なものと違うものになる可能性が高いから、それにかけた時間とかが無駄になるし、ソースコード(人間語で書いたプログラムの元ネタ)も汚くなっちゃうじゃん!」だからみたいですけどね。
いずれにせよ見込みで余計な機能を付けることに対する害を説いた格言もどきです。
一言でまとめるよ
まぁ「YAGNI原則」って単語が出てきたら「『余計な機能を付けるな!』なんだな~」と お考えください。
おまけ
■訳してみるよ
「YAGNI」は「You ain't gonna need it」とか「You aren't gonna need it」の略です。
「あなたは、それが必要にならないだろう」的な意味の表現です。
「原則」は日本語ですね。
何となく くっつけると
「あなたは、それが必要にならないだろう」原則
となります。






