Ein Kunde hat mich gebeten, seine Website neu zu gestalten, eine ASP.NET-Webforms-Anwendung, die von einem anderen Berater entwickelt wurde. Es schien ein relativ einfacher Job zu sein, aber nachdem man sich den Code angesehen hat, ist klar, dass dies nicht der Fall ist.
Diese Anwendung wurde nicht gut geschrieben. Überhaupt. Es ist extrem anfällig für SQL-Injection-Angriffe, die Geschäftslogik ist über die gesamte Anwendung verteilt, es gibt viele Duplikate und Dead-End-Code, der nichts bewirkt. Darüber hinaus werden weiterhin Ausnahmen ausgelöst, die unterdrückt werden, sodass die Website anscheinend reibungslos funktioniert.
Meine Aufgabe ist es, einfach HTML und CSS zu aktualisieren, aber ein Großteil des HTML-Codes wird in der Geschäftslogik generiert und wäre ein Albtraum. Meine Schätzung für die Neugestaltung ist länger als vom Kunden angestrebt. Sie fragen warum so lange.
Wie kann ich meinem Kunden erklären, wie schlecht dieser Code ist? In ihren Augen läuft die Anwendung großartig und das Redesign sollte ein einmaliges Erlebnis sein. Es ist mein Wort gegen den vorherigen Berater. Wie kann ich einfache, konkrete Beispiele nennen, die ein nicht technischer Kunde versteht?
Aktualisieren
Vielen Dank für alle Antworten. Die SQL-Injection-Attack-Demonstration macht Sinn und ich werde dies in einer Testumgebung demonstrieren. Das ist nur ein Teil vieler Probleme in dieser Anwendung. Ich suchte nach Möglichkeiten, um zu erklären, warum andere Teile (z. B. HTML, die in der Datenschicht generiert werden) durch bessere Methoden ersetzt werden müssen, damit das HTML- und CSS-Update durchgeführt werden kann. Hier gibt es viele gute Vorschläge, die ich zusammenstellen werde, wenn ich mit meinem Kunden spreche.
This application was not written well. At all.
Sie sind es fast nie. :)
To make a change in the look of the living room, I had to go into the air-conditioning system.
In einem guten modularen Design passieren solche Dinge nicht.