一位客户要求我重新设计他们的网站,这是另一位顾问开发的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.
在良好的模块化设计中,此类事情不会发生。