Один из самых частых аргументов, которые я слышу, не придерживаясь принципов SOLID в объектно-ориентированном дизайне, YAGNI (хотя аргумент часто не называет этого):
"Все в порядке, что я поставил обе функции X и включил Y в один класс. Это так просто, потому что нужно добавлять новый класс (т.е. сложность)".
"Да, я могу поместить всю свою бизнес-логику прямо в код графического интерфейса, это намного проще и быстрее. Это всегда будет единственный графический интерфейс, и маловероятно, что появятся новые важные требования".
"Если в маловероятном случае новых требований мой код слишком запутан, я все еще могу реорганизовать новое требование. Поэтому ваш аргумент" Что делать, если вам нужно... "не учитывается".
Какими были бы ваши самые убедительные аргументы против такой практики? Как я могу действительно показать, что это дорогостоящая практика, особенно для тех, у кого нет слишком большого опыта в разработке программного обеспечения.