Или как еще иногда расшифровывают в гневе: "keep it simple stupid!" - делай это проще, тупица.
Когда я вижу этот термин, всегда вспоминаю про кнопку на унитазе. Анекдот это или реально - не знаю. Но как гласит легенда, из решенй задачи на активацию слива в унитазе, чтобы не испачкать руки, среди различных сенсорных, лазерных, с эффектом присутствия и так далее, было выбрана обычная педаль.
Зачастую программисты, особенно молодые, грешат склонностью к оверинженирингу. Еще не прошло желание сказать "мама, смотри как я умею!". А ведь чаще всего самыми эффекивными и надежными являются самые простые решения. Яркий пример, который порицается 90%-ми tru-программистов, это простая инициализация переменных из элементов суперглобальных массивов. В Yii допустим эта инициализация выглядит так:
$page = Yii::app()->request->getPost('page', null);
Хотя самым простым, очевидным, и ничем не уступающим, решением этого конкретного места было бы
$page = @$_POST['page'];
Однако это подвергается гонениям по нескольким причинам.
1. Все боятся собак
2. Хотят однообразия
3. Так круче!
И если первые (особенно второй) еще имеют некий смысл, к третьему (а он зачастую решающий) так и хочется применить принцип KISS
Это не руководство к действию, конечно не стоит выделяться из толпы, можно и огрести. Но как пример очень подходяще. Настолько уже въелось у всех в сознание, что круче как минимум через тернарник, что такая строчка сразу же вызывает жуткий
Конечно, нужно выбирать золотую середину. Иначе можно доупрощаться до оверхеда, как с рефлексией в генерации объектов. Или наоборот, сделать код моментальным, но совершенно не читабельным.
Так что KISS трактуется не как "Упрощай!", а именно как "Не усложняй!".
_____________
Если вам недостаточно собственных заблуждений, можно расширить их мнениями экспертов.
Нужно уважать мнение оппонета. Ведь заблуждаться - его святое право.
Настаивал, настаиваю и буду настаивать на своем. На кедровых орешках.