我应该如何或以何种方式转换基于JavaScript的大型应用程序?

时间:2011-08-10 01:54:58

标签: javascript oop

我的情况就是这样,我的任务是在一个严重依赖JavaScript的应用程序中修复小问题和调试问题。其他任务之一是使应用程序更易于理解和更具可扩展性。随着新功能和功能的添加,当前的应用程序越来越难以修改和更新。在一个函数中进行更改可以真正改变另一个函数中的内容。

我最初的想法是使JavaScript面向对象,因为它只是一堆函数,如果/ thens,switch等...

如果我的想法是正确的并且朝着那个方向走,那么任何人都可以建议我可以使用的模型或格式来更好地分解应用程序。就像我应该变成一个物体一样,我应该把它变成方法或属性等等......我只需要某种指导。

如果我的想法不正确并且朝着那个方向走,那么任何人都可以给我一些关于另一种方法的想法。

谢谢,

3 个答案:

答案 0 :(得分:1)

我会考虑将jQuery库引入图片中。

转换几个区域以查看您可以预期的代码缩减量。

答案 1 :(得分:1)

我真的不知道你的代码是什么样的,所以我真的不能给你一些比一般建议更好的东西:

  • 使用JavaScript库,例如jQueryMooToolsPrototype。我会推荐jQuery,但我不能说我真的非常使用其他的。这里的要点是,它们都是图书馆,这些图书馆使得自己做的相当无聊的常见任务变得更加容易。

  • 如果您看到相同或甚至相似的代码行,请将这些行重构为新函数。

  • 避免使用魔术数字。它们使代码的可扩展性降低,可读性也降低。例如,如果您引用恰好为100的所需长度,请将100分配给变量并改为引用该变量。您可以偶尔扫描您的代码并查找数字。除了变量声明之外,除偶尔10-12之外,您不应该看到很多数字。魔术弦也是如此。

  • 将所有配置数据代码保存在一个位置,以便轻松更改内容。您甚至可能拥有一个完全独立的文件,其中包含所有数据。

  • 将相关变量放在对象中。例如,不要拥有xCoordsyCoordszCoords,而是拥有coordsx和{{1}的y对象作为其属性。你真的不应该有很多独立的全局变量。

  • 尝试使用一致的代码样式并尝试给出明智的名称。仅这一点就可以使您的代码更具可读性。

对于一个快速的现实生活示例,请查看此small code project,看看其评论中哪些内容得到了改进。您可以通过Code Review网站上的活跃来提升您的代码改进技能。

答案 2 :(得分:0)

Backbone.js

  

Backbone为JavaScript重载应用程序提供结构   为模型提供键值绑定和自定义事件,集合   具有丰富的可枚举函数API,具有声明性事件的视图   处理,并将其全部连接到您现有的应用程序   RESTful JSON接口。

Backbone可能是一个很好的解决方案。它不是太侵入性。如果没有其他任何东西,绑定,模型和自定义事件可以真正帮助您按顺序获得该代码。