Kent Beckが1990年代にエクストリームプログラミング(XP)を開発したときに、シンプルな設計の4つのルールを考案した。私なりに表現したものが以下になる[1]。 テストをパスさせる 意図を明らかにする 重複を排除する 要素を最小限にする ルールには優先順位がある。たとえば「テストをパスさせる」は「意図を明らかにする」よりも優先される。 このルールで最も重要なのは「テストをパスさせる」だ。XPが革新的だったのは、テストをソフトウェア開発におけるファーストクラスの活動に持ち上げたことである。このルールのなかでテストが最も重要な役割を担うのは当然だろう。ソフトウェアで何をするにしても、第一の目的は意図どおりにソフトウェアが動作することであり、テストはそれを確実にするためのものである。 「意図を明らかにする」は、Kentの言葉を借りれば、コードは理解しやすくなければならないというものだ。コ