Клієнт попросив мене переробити їх веб-сайт, додаток 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.У гарному модульному дизайні таких речей не буває.