代码之家  ›  专栏  ›  技术社区  ›  Sekhar

web应用程序问题

  •  5
  • Sekhar  · 技术社区  · 15 年前

    前一个程序员让网站处于无法使用的状态,我很难修改任何东西。我是网络设计的新手,所以我不知道我的技能是否与这类工作不匹配,或者在实际行业中拥有这样的网站是正常的

    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服务返回的大多数数据,从安全的角度来看,向最终用户公开表名和列名是一个不错的选择吗??

    我对应用程序本身的状态感到非常困惑。我应该了解他发展出的错综复杂的东西并继续努力,还是应该开始重写一切?我很困惑的是缺乏替代方案——这是现实世界中处理web项目的常见方式还是例外?

    任何建议,任何指点都是受欢迎的。谢谢

    4 回复  |  直到 15 年前
        1
  •  3
  •   Rudi    15 年前

    不,在这个行业中,人们一直在编写不可维护的代码是不可接受的。

    我给你的建议是向上走,说服所有人,这需要重写。如果他们质疑你,找一个具有相关网络开发技能的外部顾问来审查申请(为期1天)。

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

    下一步,让自己接受培训,如果你能重写这个应用程序,了解基础知识,它将得到回报。今天的技术(asp.net MVC)让你能够更快地实现核心业务价值,而不是试图维护这个非传统编写的应用程序。

        2
  •  2
  •   willcodejavaforfood    15 年前

    一个缺乏经验的开发人员(或任何人)很难被留下来。我认为你有几个艰难的星期的头脑,你真的需要阅读有关的技术,以便更好地了解它们和什么是最佳实践。您还需要深入挖掘现有代码,了解它们是如何结合在一起的。

    当你做了所有你真的需要考虑你的选择。通常从头开始写东西(特别是如果它真的有用的话)是个坏主意。这显然取决于项目的大小,对于只有几千行代码的较小项目来说,这可能是可以的。当查看其他人的代码时,也很容易忽略,所有这些奇怪的东西实际上都可能是针对有效需求的修复。事情往往一开始看起来很整洁,但后来真正的话来访问。

    你需要向公司提交重新写作的时间估计,看看这是否是一个选择,但我猜你需要接受现状,尽你所能。也许你可以逐步改善。

        3
  •  1
  •   Chris Marisic    15 年前

    我建议将项目移到MVC3,并使用MVC中的视图和/或部分视图重写XSLT部分以使其正常工作。Razor模型绑定语法非常干净,应该能够快速地分离出脏的XSLT代码,只留下您需要的模型属性。

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

    不过,这对你们公司的技术来说可能是一个相当巨大的飞跃。有些地方不愿改变。

        4
  •  0
  •   Dan Williams    15 年前

    我猜这是6-7年前写的,从那以后就被黑了。每个项目都会积累一定量的泡泡糖和胶带。听上去这个很糟糕。我建议把它分成小块。我想这个网站现在真的在工作?所以你不想破坏任何东西,“生意人”经常会想“当最后一个家伙在这里的时候一切都很好。”

    摸索你的最大痛苦点来维持这个项目,你将从固定中获得最大的胜利。如果你有时间和支持,重写是很好的。但如果它是一个复杂的网站,那么对于一个成熟的应用程序来说有很多话要说。成熟是因为它满足了业务需求,而不是因为它是好代码。

    此外,处理小部分将使您更好地了解项目和业务需求,因此当您开始重写时,您将有一个更好的视角。