【プログラミング・初心者向け】YAGNIの法則!〜必要なものは必要な時に〜

1月 26, 2018

この間、仕事にて以下のことを言われました
「それ、使われる『かも』って言って、汎用的に作ってるけど、
いつ使うかわからないよ!?使われなかったら無駄な時間にもなるから、
必要になった時に作ろうぜ!YAGNIでいこう!」

YAGNIって何?
というわけで調べました。

YAGNIとは

読み方は
「やぐに」です。
そして
「You Aren’t Going to Need it.」の略
google翻訳大先生に聞いてみたら

あなたはそれを必要としていません。

なんのこっちゃと・・・
というわけでわかりやすく解説しているサイトを探しました。

YAGNIの法則

解説してくれているサイト

「「使うかもしれないから、作っておこう」と思って作ったソースは
大半どころか1割ぐらいしか使われない、それだとそれにかけた労力が無駄になるから、
コストをかけずに、必要なものだけを作ろう。」
という考えですね。

必要になる「かも」で作るデメリット

「かも」で作った場合、それが必要になる割合なんて1割くらいしかないのです。
残りの9割の分の労力が無駄になって、無駄な工数となってしまいます。
結果、余計なコストになり、余計な残業、余計な赤字になってしまうのです。
※実際に僕がこの業界で10年経験したものを基にすると
 「必要になるかも」で作った結果、使われたのはほぼないに等しいです。
 むしろ「必要になった」で作った共通処理などがよく使われてました。

YAGNIの法則のメリット

メリットとしては以下があげられます。

  1. 必要なものだけなので、ソースが(必要になる「かも」で作るより)シンプルなものになる
  2. 余計なものを作らないので、余計な工数がかからない
  3. 余計な工数がかからないので、経費を抑えることが出来ると同時に早く作れる!!(これ大事

シンプルなソースのメリット

シンプルなソースのメリットとしては

  1. シンプルな分、何をしているかわかりやすくなるため保守性が高くなる。
  2. シンプルな分、初級プログラマでも読めるソースに近付くので、勉強材料にもなり、
    プログラマ不足となっている場所の人員強化にも繋がる。

更にいうと誰でも手が加えられるソースくらいシンプルなソースって
実は複雑なソースよりもバグが発生しにくい状態なんですよね・・・
だって、シンプルなんだもの、余計な処理が入っていないのだもの。
余計な処理が入らないということは、バグのリスクも、その分ないんだもの。

まとめ

見えない未来を見るよりも、今必要なものを作る方が
将来的に楽になったりするという
意外なものだったりするものです。

必要なものは必要な時に。
プログラムの作り方と仕事の進め方の考え方は割と違うものなのです。

今回は以上!!!

スポンサーリンク