【きすげんそく】

KISS原則 とは?

公開:
💡 シンプルにしておけ、バカ者! — 天才こそ守るべき原則
📌 このページのポイント
KISS原則:シンプルさの価値 複雑な設計 Factory Adapter Proxy Bridge Observer Mediator AbstractFactory 読めない・直せない・壊れやすい KISS シンプルな設計 入力を受け取る 処理する 結果を返す 読める・直せる・壊れにくい
KISS原則 — シンプルな設計と複雑な設計の対比
ひよこ ひよこ
ペンギン先生、KISS原則って何?キスと関係あるの?
ペンギン先生 ペンギン先生
「Keep It Simple, Stupid」の略で、「シンプルにしておけ、バカ者!」っていう意味だよ。設計やコードをできるだけ単純に保つべきっていう原則なんだ。ちょっと乱暴な表現だけど、それだけ「シンプルさ」が大事だっていう強いメッセージなんだよ。
ひよこ ひよこ
でもシンプルだと機能が少なくならない?
ペンギン先生 ペンギン先生
「シンプル」は「機能が少ない」とは違うんだ。必要な機能を、できるだけ分かりやすく、余計な複雑さなしに実現すること。たとえば3行で書ける処理を、将来の拡張のために50行のフレームワークにする必要はないでしょ?
ひよこ ひよこ
あー、やりすぎちゃうってことか。
ペンギン先生 ペンギン先生
そう、「オーバーエンジニアリング」って呼ぶんだけど、これがKISS原則の天敵なんだ。「いつか必要になるかも」と思って作った複雑な仕組みは、大体使われないまま保守コストだけ増やすんだよ。
ひよこ ひよこ
具体的にはどんな場面で意識すればいいの?
ペンギン先生 ペンギン先生
日常的なところだと、関数は1つの仕事だけさせる、変数名は意味がわかるものにする、条件分岐は浅く保つ、みたいなことだね。コードを書いた後に「これ、もっとシンプルに書けないかな?」って自問する癖をつけるのが一番効果的だよ。
ひよこ ひよこ
ベテランエンジニアでもKISS原則を破っちゃうことはあるの?
ペンギン先生 ペンギン先生
むしろベテランほど要注意だよ。技術力があるぶん「もっとエレガントに書ける」「デザインパターンを適用しよう」と複雑にしがちなんだ。本当に優れたエンジニアは、複雑な問題をシンプルな解決策に落とし込める人。アインシュタインも「できるだけシンプルに、しかしシンプルすぎないように」って言ってるよ。
ひよこ ひよこ
シンプルにするのが一番難しいんだね!
ペンギン先生 ペンギン先生
そのとおり。パスカルも「短い手紙を書く時間がなかったので長い手紙を書きました」って名言を残してるよね。シンプルさは手抜きじゃなくて、深く考えた結果たどり着くものなんだ。
ペンギン
まとめ:ざっくりこれだけ覚えればOK!
「KISS原則」って出てきたら「とにかくシンプルに作れ!余計な複雑さを入れるな!」と思えればだいたいOK!
📖 おまけ:英語の意味
「Keep It Simple, Stupid」 = シンプルにしておけ、愚か者
💬 1960年代にアメリカの航空機設計者ケリー・ジョンソンが提唱したと言われてるよ。「整備兵が戦場で限られた工具だけで修理できる設計にしろ」っていうのが元の意図なんだ
← 用語集にもどる