Я люблю принципы программирования, которые помогают. Прочитал принцип, применил — и код сразу стал лучше.
К сожалению, с некоторыми принципами такое не прокатывает.
SRP. Что есть ответственность? Где начинается и заканчиается ответственность? Каковы чёткие критерии того, что ответственность одна?
KISS. Как определить, что вот этот конкретный код уже достаточно простой?
DRY. В каком случае идентичный код является дублированием, а в каком нет? Как показал мой личный практический опыт, далеко не от всякого повторяющегося кода необходимо избавляться.
YAGNI. Что именно мне не понадобится?
Поэтому я постоянно ищу работающие принципы, которые помогут мне в повседневном кодинге.
Вот что мне удалось обнаружить: