YAGNI、DRY、KISSのまとめ

なんかごっちゃになるので。
SOLIDやGRASPは複数の原則をまとめたパッケージのタイトルなので、区別がつくんだけど。

YAGNI

"You ain't gonna need it. (それは必要ではない)"の略。 よさそうに思える機能でも今必要でない機能を実装すると、それはコードの複雑性を上げる負債になる。

DRY

"Don't Repeat Yourself. (同じことを繰り返すな)"の略。
これは何でもかんでも重複を削って共通化しろという意味ではなく、一つの知識は一箇所にだけ書けという意味。

KISS

"Keep it short and simple. (シンプルにしておけ)"の略。
単純なものは使いやすい。なし崩し的に機能をどんどん追加していくのは悪である。