【きすげんそく】

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年代にアメリカの航空機設計者ケリー・ジョンソンが提唱したと言われてるよ。「整備兵が戦場で限られた工具だけで修理できる設計にしろ」っていうのが元の意図なんだ
← 用語集にもどる