KISS принципы в программировании

Я слышал, что в программировании тоже есть такая абревиатура как KISS, а не только в музыке. И KISS - означает keep it simple stupid, типа делайте всё простым до тупости. Но я не особо понимаю в чём суть этих принципов. Объясните пожалуйста

Ну вообще абревиатура исторически переводится как "keep it short and simple", но по большому счёту особой разницы нет, суть одна: простота продукта - это его самая большая ценность.

В программировании основными деталями KISS являются:

1. Не нужно писать код, который не будет использоваться. Код должен быть максимально простым и лаконичным. Дополнительные функции, которые не будут использоваться, реализовывать не нужно.

2. Если какие-то функции не будут нужны большинству пользователей, то стоит разбить интерфейсы на более маленькие интерфейсы с дополнительным функционалом для определённых пользователей.

3. Писать только то что реально необходимо. Реализовывать уйму дополнительного функционала "на всякий случай" не стоит, поскольку во первых это утяжеляет код, а во вторых - врядли этот код будет использоваться, и тогда это будет нарушение первого правила.

4. Уровень абстракции должен быть урегулирован. Увеличивать его уровень бесконечно - не стоит.

5. Если нужна пара функций - лучше напишите себе эти пару функций вручную чем подключать целую библиотеку с кучей всего.

6. Декомпозиция.