我的回答

  1. 功能模块
    1. 数据管理可以在一个文件夹中进行统一管理
    2. 数据管理也可以在功能模块单独管理
  2. 组件维护分为2种
    1. baseUI, 通用的基础ui组件
    2. components, 通用的功能组件
  3. 模式
    1. 函数式编写方式
    2. 功能职责划分粒度
  4. 编程思想
    1. 关注点分离
    2. 数据驱动

参考回答

组织JavaScript代码

精心设计的代码更易于维护,优化和扩展,能使开发者更高效。这意味着更多的注意力和精力可以花在构建伟大的事情上,每个人(用户,开发者和利益相关者)都能够进行便捷式的获取

比较宽松的语言,特别是JavaScript,需要一些规矩才能写好
JavaScript环境非常宽松,随处扔些代码片段,就可能起作用。早点确立系统架构(然后遵守它!)对你的代码库提供制约,确保自始至终的一致性。
有三个高级的点,跟语言无关的点,对代码设计很重要

  • 系统架构

代码库的基础设计。控制各种组件的规则,例如模块(models)、视图(views)和控制器(controllers)以及之间的相互作用

  • 可维护性

如何更好的改进和扩展代码?

  • 复用性

应用组件如何复用?每个组件的实例如何简便地个性定制?

模块模式

模块模式 是一个简单的结构基础,它可以让你的代码保持干净和条例清晰。一个”模块”就是个标准的包含方法和属性的对象字面量,简单是这个模式的最大亮点:甚至一些不熟悉传统的软件设计模式的人,一眼就能立刻明白代码是如何工作的。
用此模式的应用,每个组件有它独立的模块。例如,创建自动完成功能,你要写个模块用于文本区域,一个模块用于结果列表。两个模块相互工作,但是文本区域代码不会触及结果列表代码,反之亦然。

模块解耦 是模块模式非常适用于构建可靠的系统架构的原因。应用间的关系是明确定义的;任何关系到文本区域的事情被文本区域模块管理,并不是散落在代码库中 —- 代码整洁
模块化的组织的另外一个好处是固有的可维护性。模块可以独立的改进和优化,不会影响应用的任何其他部分。