А зачем? Сам по себе абстрактный код в вакууме он ведь бесполезен. Вообще не понимаю вот этого кайфа от красивого кода. Работающий код, приносящий пользу - вот это кайф)
Ну конечно. Просто «идеальный» код, по моему опыту, недостижим на реальных проектах. Никогда не предугадаешь как изменятся бизнес-требования через год, интеграция со сторонними сервисами зачастую вообще превращается в велосипед из костылей