В том-то и дело, что есть разные философии/парадигмы/принципы/паттерны/антипаттерны и т.д., а универсальной кнопки "сделать зашибись" пока нет.
И выбор конкретного подхода зависит от предметной области, от стандартов индустрии и личных предпочтений главного архитектора, или как его там.
Если уж у вас в тегах стоит ООП, то стоит упомянуть про
SOLID. Эти принципы специально придуманы для больших и сложных проектов с долгим жизненным циклом.
Но если вы собираетесь по-быстренькому набросать управление вентилятором, например, прошить этот код в контроллер и
забыть о нем навсегда, то принципы SOLID могут показаться слишком громоздкими и переусложненными.