Это наглядный пример создания пользовательского интерфейса «по запросам пользователей». То есть здесь представлен случай, когда пользователи требуют новые функции, а разработчик, не оценивая каждую из входящих просьб критически, чисто методически дорабатывает интерфейс. По этой причине и получаются подобные «монстры» программостроения.
На своих
курсах я часто провожу аналогию таких запросов от пользователей с детьми, которые просят у родителей конфеты. Мы все понимаем, что хороший родитель не будет кормить своих детей одними конфетами только потому, что те просят их постоянно. Конечно нет! У родителей, как правило, есть принцип, что для получения конфеты, необходимо сначала съесть обычную еду.
Поэтому, когда пользователи просят вас внедрить что-то новое в вашу программу, нельзя воспринимать это как прямой запрос, который необходимо обязательно реализовать Нет. Каждую такую просьбу нужно воспринимать как нечто, что требует осмысления. Это как врачи жалобы пациентов воспринимают как симптом, а не как руководство к действию. Если пациент на приёме у врача сообщает ему, что у него болит рука, это вовсе не означает, что врач тут же начнет лечить ему руку. Ответственный врач проведёт исследования и только тогда поставит диагноз, и на основании него пропишет лечение.