Клиент попросил меня сделать редизайн своего веб-сайта, приложения ASP.NET Webforms, разработанного другим консультантом. Это казалось относительно простой работой, но, посмотрев на код, стало ясно, что это не так.
Это приложение не было написано хорошо. Вообще. Он чрезвычайно уязвим для атак с использованием SQL-инъекций, бизнес-логика распределена по всему приложению, много дублирования и тупиковый код, который ничего не делает. Вдобавок к этому, он продолжает генерировать исключения, которые задушены, поэтому сайт работает нормально.
Моя работа состоит в том, чтобы просто обновить HTML и CSS, но большая часть HTML генерируется в бизнес-логике и будет кошмаром, чтобы разобраться. Моя оценка по редизайну длиннее, чем рассчитывал клиент. Они спрашивают, почему так долго.
Как я могу объяснить своему клиенту, насколько плох этот код? По их мнению, приложение работает отлично, и его редизайн должен быть быстрым. Это мое слово против предыдущего консультанта. Как я могу привести простые конкретные примеры, понятные нетехническому клиенту?
Обновить
Спасибо за все ответы. Демонстрация атаки с использованием SQL-инъекций имеет смысл, и я продемонстрирую ее в тестовой среде. Это только одна часть многих проблем в этом приложении. Я искал способы объяснить, почему другие части (такие как html, генерируемый в слое данных) должны быть заменены лучшими практиками для обновления html и css. Здесь есть много хороших предложений, которые я соберу вместе, когда поговорю со своим клиентом.
This application was not written well. At all.
Они почти никогда не бывают. :)
To make a change in the look of the living room, I had to go into the air-conditioning system.
В хорошем модульном дизайне таких вещей не бывает.