Seorang klien meminta saya untuk mendesain ulang situs web mereka, aplikasi ASP.NET Webforms yang dikembangkan oleh konsultan lain. Sepertinya pekerjaan yang relatif mudah, tetapi setelah melihat kode, jelas bukan itu masalahnya.
Aplikasi ini tidak ditulis dengan baik. Sama sekali. Ini sangat rentan terhadap serangan injeksi SQL, logika bisnis tersebar di seluruh aplikasi, ada banyak duplikasi, dan kode jalan buntu yang tidak melakukan apa-apa. Di atas semua itu, ia terus melempar pengecualian yang disiram, sehingga situs tampaknya berjalan dengan lancar.
Pekerjaan saya hanyalah memperbarui HTML dan CSS, tetapi sebagian besar HTML dihasilkan dalam logika bisnis dan akan menjadi mimpi buruk untuk diselesaikan. Perkiraan saya pada desain ulang lebih lama dari yang diinginkan klien. Mereka bertanya mengapa begitu lama.
Bagaimana saya bisa menjelaskan kepada klien saya betapa buruknya kode ini? Dalam pikiran mereka, aplikasi ini berjalan dengan baik dan desain ulang harus cepat sekali. Ini kata-kata saya terhadap konsultan sebelumnya. Bagaimana saya bisa memberikan contoh sederhana dan konkret yang akan dipahami oleh klien non-teknis?
Memperbarui
Terima kasih atas semua tanggapannya. Demonstrasi serangan injeksi SQL masuk akal dan saya akan demo ini dalam lingkungan uji. Itu hanya satu bagian dari banyak masalah dalam aplikasi ini. Saya sedang mencari cara untuk menjelaskan mengapa bagian lain (seperti html yang dihasilkan di lapisan data) perlu diganti dengan praktik yang lebih baik agar pembaruan html dan css terjadi. Ada banyak saran bagus di sini yang akan saya kumpulkan ketika saya berbicara dengan klien saya.
This application was not written well. At all.
Mereka hampir tidak pernah ada. :)
To make a change in the look of the living room, I had to go into the air-conditioning system.
Dalam desain modular yang baik, hal-hal seperti itu tidak terjadi.