如何使javascript代码易于维护

如何使javascript代码易于维护,javascript,Javascript,总之,我正在开发一个高度交互的web应用程序,它需要大量的jquery或js代码,我发现我的代码变得有点难以维护,而且不那么可读。有时甚至作者也找不到指定的代码 到目前为止,我为清晰代码所做的工作如下 一个js文件中有一个js组件。(例如,CustomTab.js是我应用程序中的一个选项卡组件。) 使用模板生成基于JSON的组件HTML 使用jqueryui 低调的JavaScript 还有什么我需要注意的地方吗?不管怎样,对于如何使js库/框架易于维护的任何建议或推荐技术,我都敬请参考。我可以

总之,我正在开发一个高度交互的web应用程序,它需要大量的jquery或js代码,我发现我的代码变得有点难以维护,而且不那么可读。有时甚至作者也找不到指定的代码

到目前为止,我为清晰代码所做的工作如下

  • 一个js文件中有一个js组件。(例如,
    CustomTab.js
    是我应用程序中的一个选项卡组件。)
  • 使用模板生成基于JSON的组件HTML
  • 使用jqueryui
  • 低调的JavaScript

  • 还有什么我需要注意的地方吗?不管怎样,对于如何使js库/框架易于维护的任何建议或推荐技术,我都敬请参考。

    我可以建议您使用模块模式和来组织您的JavaScript代码。对于产品,您将能够使用RequireJS优化器将模块构建到一个JavaScript文件中


    此外,如果您预期客户端应用程序将是巨大的,考虑使用一些像JavaScript MVC框架一样的ReBoo.js和服务器端REST服务。< /P> < P>我使用这个名称空间模式为我的库:

    MyLibrary.ListView.js:

    var MyLibrary = MyLibrary || {};
    
    MyLibrary.ListView = {
    
        doSomethingOnListView: function() {
            ...
            return this;
        },
    
        doSpecialThing: function() {
            ...
            return this;
        },
    
        init: function() {
    
            // Additional methods to run for all pages
            this.doSomethingOnListView();
    
            return this;
        }
    };
    
    无论哪一页需要:

    <script type="text/javascript" src="/js/MyLibrary.ListView.js"></script>
    <script type="text/javascript">
    $(function() {
        MyLibrary.ListView
            .init()
            .doSpecialThing();
    });
    </script>
    
    
    $(函数(){
    MyLibrary.ListView
    .init()
    .doSpecialThing();
    });
    

    如果某个页面需要附加功能,您甚至可以链接方法。

    目前,我还在为我的公司开发JS框架。我所做的是使用面向对象的JS元素。换句话说,我正在实现与C#库类似的代码(没有那么相似,模拟将是正确的词)。例如,在C#中,您使用Microsoft.Window.Forms,因此我可以使用JSOOP并使用方法扩展和重写来创建相同的场景。但是,如果您在项目中走得太远,那么将JS代码转换为JSOOP将非常耗时

    使用JSLint,这将验证您的代码,并将代码简化为可读的、脚本引擎友好的代码。虽然JSLint非常严格,所以您也可以使用JSHint

    为每个组件使用单独的文件是一个好主意,我也在这样做


    如果您愿意,可以下载jQuery开发人员版本,您可以大致了解他们是如何创建框架的。我从jQuery框架中学到了很多东西

    这正是我每次问自己的问题。我认为有几种方法可以使代码易于维护

    • 参与javascript开源项目,了解他们是如何解决这个问题的。我认为您可以从每个项目中收集一些独特的解决方案,项目结构的公共部分将回答您关于维护的问题

    • 使用预先准备好的解决方案,例如,或者如果我没有弄错的话,angular不会给您提供结构,而是为您提供强大的工具来创建代码更少的页面。还要检查现成的解决方案

    • 阅读书籍,试着为你的需要创造一些结构。这将是困难和漫长的,但结果(也许几年后:)将是可怕的


    问得好。我会四处看看这篇文章得到了什么回复!;-)您还可以尝试
    jquery cdn
    ,以便从javascript文件夹中删除jquery文件。您为什么说您的代码变得难以维护?您遇到了哪些具体问题?具体来说,为什么作者找不到代码?还有什么细节可以帮助我们吗?@pKs对于jquery主文件,我们可以照你说的做。但是对于使用自定义下载jquery文件。我们能做到吗?谢谢。这取决于你选择的方法。如果我是你,那么我会尝试
    GWT
    为我管理javascipt以及诸如此类的东西。嗨,Evgeny,我喜欢你的想法。你能告诉我更多关于js mvc的信息吗?它的好处是什么?谢谢。主要的好处是浏览器关心视图渲染和用户操作的处理,因此您的服务器负担很大,交互通常通过AJAX进行,它改善了用户体验。我当前的项目有86%的JavaScript代码和12%的Python代码(RESTful服务),因此您可以想象在客户端和服务器上使用了多少处理器时间。我可以将jquery UI与之结合起来吗?因为我认为jQueryUI擅长ui展示。当然,谢谢。您可以在主干视图中呈现任何元素,并在其中具有自定义逻辑,例如初始化jQuery UI小部件等。嗨,鲁本,所有这些都是好方法,但我更喜欢第二种。试试JSMVC框架,谢谢。