Keep it simple, stupid.(シンプルにしておけ!この間抜け) という原則です。
Wikiを見ると次のとおりです。
KISS の原則 (英: KISS principle) とは、「Keep it simple stupid.」(シンプルで愚鈍にする)、もしくは「Keep it simple, stupid.」(シンプルにしておけ!この間抜け)、もしくは「Keep it short and simple.」(簡潔に単純にしておけ)という内容の、1960年代の米国海軍において言われた、経験的な原理・原則[1]の略語。その意味するところは、設計の単純性(簡潔性)は成功への鍵だということと、不必要な複雑性は避けるべきだ、ということである。
https://ja.wikipedia.org/wiki/KISSの原則
結論は出てしまっていますが、少し書きます。
シンプルにするとは?
シンプルの対義語には
複雑
煩雑
カオス
という単語が上がってきます。
では複雑にしないようにプログラムを書けばよいのかと問われると、ちょっと違うような気がします。
プログラムは本質的には複雑なものです。 ソースコードが数十万行と大量にあるものがシンプルなのかと問われると、絶対に違うと答えてしまうでしょう。
そんな中でシンプルにしていくためにはどうすれば良いのか。個人的な経験も多分に含みますが、プログラムを分けること となるでしょう。
プログラム内には複雑になりそうな要素として、「状態」「分岐」「並列処理」など様々な要素を含みます。
それらを同時に頭の中で動かして考えていくことは、人間にとって不可能です。
なので、シンプルにするとは、プログラムを人の頭で考えきれる範囲まで分けて行くことだと思っています。
まとめ
プログラムをシンプルにするとは、分けることだと書きました。ドメインレベルなのか、デザインパターンやフレームワークを用いることで分けていくのかといったところはありますが、基本的に分けるしかないと思います。
皆様も、もし複雑なプログラムや、複雑になりそうなプログラムを見た際には、どうやったら分けられるのかを意識してプログラムを構築していきましょう。