小编use*_*480的帖子

大型backbone.js网络应用程序组织

我目前正在开发一个基于backbone.js构建的大型Web应用程序,并且在组织,"僵尸"等方面遇到了很多问题.所以我决定做一个主要的代码重构.我已经编写了一堆辅助函数来处理"僵尸"; 但是,我想从一开始就为代码创建一个很好的结构/组织.我没有在大型的backbone.js组织上找到很多很棒的教程/示例,所以我从头开始,想看看我是否可以就我开始的地方得到一些意见.

我显然在全局命名空间中设置了我的代码; 但我也想保持这个命名空间相当干净.我的主要app.js使类文件本身与全局命名空间分开; 您可以使用reg()函数注册一个类(以便可以实例化它),而inst()函数可以从classes数组中实例化一个类.因此,除了3种方法之外,MyApp命名空间只有路由器,模型和视图:

var MyApp = (function () {

    var classes = {
        Routers: {},
        Collections: {},
        Models: {},
        Views: {}
    };

    methods = {

        init: function () {
            MyApp.Router = MyApp.inst('Routers', 'App');
            MyApp.Model = MyApp.inst('Models', 'App');
            MyApp.View = MyApp.inst('Views', 'App');
            Backbone.history.start();
        },

        reg: function (type, name, C) {
            classes[type][name] = C;
        },

        inst: function (type, C, attrs) {
            return new classes[type][C](attrs || {});
        }

    };

    return methods;

}());

$(MyApp.init);
Run Code Online (Sandbox Code Playgroud)

在模型,集合,路由器和视图中,我像往常一样工作,但是然后需要在文件的末尾注册该类,以便可以在以后实例化它(不会使命名空间混乱):

MyApp.reg('Models', 'App', Model);
Run Code Online (Sandbox Code Playgroud)

这似乎是组织代码的不必要的方式吗?其他人是否有更好的例子来说明如何使用许多路由器,集合,模型和视图组织真正的大型项目?

javascript jquery namespaces organization backbone.js

61
推荐指数
4
解决办法
2万
查看次数

小团队的Git发展战略

我们有一个小型数字团队(3名设计师,3名开发人员),并希望将Git集成到我们的系统中.

目前,对于我们的大多数网站,我们都有一个临时站点(dev.example.com)和一个生产站点(example.com).我们的开发人员通常会对本地版本进行代码更改,将这些更改移至暂存站点,然后一旦获得批准,这些更改将被实时移动.另一方面,我们的设计师直接对临时站点进行小编辑(当开发人员太忙时),然后在批准后立即推送.此外,在某些情况下,我们没有暂存站点,编辑会直接推送到生产站点.

我知道不同的工作流程并不理想,但是我们将Git集成到当前系统并保持工作流程相当简单(为了设计者的利益)的最佳方式是什么?我们当前的工作流程是否应该在合并Git之前首先进行标准化(即,分段站点是强制性的,设计人员必须在推送到分期之前在本地开发)或者Git是否足够灵活以便按原样工作?

我对Git相当新,但已经读到只应该将一个推送到一个裸存储库.这有必要吗?如果是这样,这可能是暂存网站吗?或者它应该是它自己的实体(即在像example.local这样的内部服务器上)?

一个好的工作流程是这样的:

  1. 用户将裸存储库提取并合并到本地存储库中.
  2. 用户在本地开发并提交对本地存储库的更改.
  3. 用户将更改推送到example.local(或类似的东西)的裸存储库
  4. 用户将更改从裸存储库拉到staging存储库dev.example.com
  5. 批准后,用户将更改从裸存储库提取到生产存储库example.com

这个工作流程的唯一问题是裸机库似乎没必要......不是吗?最后,我了解将在本地存储库中记录的内容(用户更改,提交等),但我不清楚将在裸存储库(推送后),暂存(在拉动之后)上记录的内容)和生产(拉动后); 可以轻松跟踪和记录上述所有步骤吗?

感谢您提供的所有建议/答案!

git project-management

5
推荐指数
1
解决办法
1578
查看次数