Web应用程序的问题

时间:2010-11-16 13:54:06

标签: javascript asp.net sql xml

之前的程序员使网站处于非常不可用的状态,我很难修改任何内容。我是网页设计的新手,所以我不知道我的技能是否与这类工作不匹配,或者在真实行业中拥有这样的网站是否正常

  1. 主页包含三个框架
  2. 这些框架中的每一个都有自己的javascript函数(在<head>之间,并且还调用其他常见的javascript函数(使用<script src=..>
  3. 过度使用document.all - 实际上元素仅由document.all引用或访问。
  4. 过度使用XSLT和Web服务 - 虽然我知道使用Web服务通常被认为是一个很好的设计选择 - 除了使用xslt之外,还有其他任何方式可以使用这些服务。例如,使用Web方法返回的数据创建菜单。
  5. 每个<div><td>和每个其他元素都有一个id,这些id由javascript函数操纵,然后根据这些来加载一些适当的Web服务和xslt文件。
  6. 从安全角度来看,他使用T-SQL's for xml auto获取Web服务返回的大部分数据 - 从安全角度来看,将表名和列名公开给最终用户是否是一个很好的选择? ?
  7. 我对应用程序本身的状态感到很困惑。我应该了解他已经开发并继续研究它的复杂性,还是应该开始重写所有内容?我很困惑的是缺乏替代方案 - 这是否是在现实世界中处理网络项目的常见方式还是例外?

    任何建议,欢迎任何指示。感谢

4 个答案:

答案 0 :(得分:3)

不,在这个行业中,人们不断编写不可维护的代码。

我给你的建议就是上链并说服每个人这需要重写。如果他们向您提问,请找一位具有相关网络开发技能的外部顾问来审核申请(为期1天)。

保持这个网站的原样,因为它“有效”就像在今天的高速公路上保持福特T型车的工作模式,非常危险。安全和维护成本可能是说服任何人反对保持这个网站“按原样”的最有说服力的话题。

接下来,让自己接受培训,如果你能够在了解基础知识的情况下重写这个应用程序,它将会得到回报。今天的技术(asp.net MVC)允许您比试图维护这种非常规编写的应用程序更快地实现核心业务价值。

答案 1 :(得分:2)

对于没有经验的开发人员(或任何人)留下的困境。我认为你有一些艰难的一周,你真正需要阅读所涉及的技术,以便更好地了解它们和是最好的做法。您还需要真正深入了解现有代码,以了解它们如何挂在一起。

当你完成所有这些时,你真的需要考虑你的选择。通常从头开始重写(特别是如果实际上有效)是一个坏主意。这显然取决于项目的大小,对于只有几千行代码的小型项目,它可能没问题。在查看别人的代码时,很容易忽视所有奇怪的事情实际上可以修复有效的要求。事情往往开始看起来整洁,但真正的话语来访。

您需要向业务部门提供重写时间估算,以确定这是否是一个选项,但我猜您需要接受事情的方式,并尽力做到最好。也许你可以逐步改进。

答案 2 :(得分:1)

我建议将项目移动到MVC3,并使用MVC的视图和/或部分视图重写XSLT部分。 Razor模型绑定语法非常简洁,应该能够快速删除脏XSLT代码,并且只留下您需要的模型属性。

然后我会从MVC服务器端调用这些Web服务,并将对象结果反序列化为真实对象(或者甚至只使用直接XQuery或Json遍历直接为您的模型提取内容)并将它们绑定到您的视图

这可能是贵公司技术的一次巨大飞跃。有些地方不喜欢改变。

答案 3 :(得分:0)

我猜这是在6 - 7年前写的,从那时起就被黑了。每个项目都积累了一定量的泡泡糖和胶带。听起来像是这个坏了。我建议把它分成一口大小的块。我假设该网站现在正在运作?所以你不想打破任何东西,“生意”经常认为“当最后一个人来到这里时,它的工作正常。”

了解维护项目的最大痛点,以及从修复中获得的最大胜利。如果你有时间和支持,重写是很好的。但如果它是一个复杂的网站,那么对于一个成熟的应用程序来说,还有很多东西要说。在满足业务需求的意义上是成熟的,而不是它是好的代码。

此外,处理小部件可以让您更好地了解项目和业务需求,因此当您开始重写时,您将获得更好的视角。