Một khách hàng đã yêu cầu tôi thiết kế lại trang web của họ, một ứng dụng ASP.NET Webforms được phát triển bởi một nhà tư vấn khác. Nó có vẻ như là một công việc tương đối đơn giản, nhưng sau khi xem mã, rõ ràng đó không phải là trường hợp.
Ứng dụng này đã không được viết tốt. Ở tất cả. Nó rất dễ bị tấn công SQL SQL, logic kinh doanh được lan truyền trong toàn bộ ứng dụng, có rất nhiều sự trùng lặp và mã kết thúc không có gì. Trên hết, nó tiếp tục ném các ngoại lệ đang bị làm mờ đi, vì vậy trang web dường như chạy trơn tru.
Công việc của tôi chỉ đơn giản là cập nhật HTML và CSS, nhưng phần lớn HTML đang được tạo ra theo logic nghiệp vụ và sẽ là một cơn ác mộng khi sắp xếp. Ước tính của tôi về thiết kế lại dài hơn so với khách hàng đã nhắm đến. Họ đang hỏi tại sao quá lâu.
Làm thế nào tôi có thể giải thích cho khách hàng của tôi chỉ là mã này xấu như thế nào? Trong tâm trí của họ, ứng dụng đang chạy rất tốt và thiết kế lại nên nhanh chóng. Đó là lời của tôi chống lại nhà tư vấn trước đó. Làm thế nào tôi có thể đưa ra các ví dụ đơn giản, cụ thể mà một khách hàng không có kỹ thuật sẽ hiểu?
Cập nhật
Cảm ơn vì tất cả những phản hồi. Trình diễn tấn công tiêm SQL có ý nghĩa và tôi sẽ demo nó trong môi trường thử nghiệm. Đó chỉ là một phần của nhiều vấn đề trong ứng dụng này. Tôi đang tìm cách giải thích tại sao các phần khác (chẳng hạn như html được tạo trong lớp dữ liệu) sẽ cần phải được thay thế bằng các thực tiễn tốt hơn để cập nhật html và css. Có nhiều gợi ý hay ở đây mà tôi sẽ ghép lại khi nói chuyện với khách hàng của mình.
This application was not written well. At all.
Họ gần như không bao giờ. :)
To make a change in the look of the living room, I had to go into the air-conditioning system.
Trong một thiết kế mô-đun tốt, những điều như vậy không xảy ra.