zoukankan      html  css  js  c++  java
  • Extjs4前端开发代码规范参考


    准则:  一致性, 隔离与统一管理, 螺旋式重构改进, 消除重复, 借鉴现有方案

    1.    保证系统实现的一致性,寻求一致性方案, 相同或相似功能尽量用统一模式处理;

    2.    尽可能使用隔离技术,将某一模块(比如权限管理)的代码隔离在局部统一管理;

    3.    不断重构改进,一旦发现更好的方式, 马上替换掉原有方式;

    4.    尽可能重用,消除重复;

    5.    尽可能先借鉴系统中已有方案并复用之;如果有更好方案可替换之;

    前端架构: 采用MVC模式

    1.     尽可能遵循MVC模式, 做到 “模型-视图-控制器”相分离;

    2.     将整个MVC应用分解为多个小的MVC应用, 模块化管理;

    3.    “模型-视图”分离: 显示数据集时, 先定义数据模型, 再定义 Store , 然后关联到具体的视图中引用;

    4.    “视图-控制器”分离: 视图事件逻辑放置于控制器中,控制器负责注册事件监听、数据加载及更新视图; 极少量逻辑可以绑定到视图中。

    组件配置: 标识 – 数据配置– 布局 – 显示 – 样式– 监听器

    1.    唯一标识性(xtype/itemId/name)最先,数据配置信息(store)次之,布局信息(layout, flex)再次之, 显示性信息(width,height, text等)再次之,样式信息(margin等)再次之,操作/事件监听器(handler, listeners)最后。

    2.    标识性信息用于定位组件;数据配置信息用于更快速地了解其显示用途;

    3.    事件监听器最好在控制器中注册。

    异步请求的操作与响应: 统一模式, 响应信息尽可能明确详细 , 正确优先于效率

    1.    创造和使用统一模式处理异步请求: 发送请求、处理响应、给予提示;

    2.    每个异步请求的响应提示必须指明该响应针对什么请求,完成了什么操作,产生了什么影响; 如果成功, 显示成功导致的结果; 如果失败,显示具体原因; 必要的话给予建议操作;

    3.    正确性是第一位的, 其次是效率; 错误的高效只会导致更灾难的结果,而低效的正确毫无意义;

    4.    异步请求可以使用两种方式: Ext.data.Store.load 方法和 Ext.Ajax.request . 前者用于为绑定store 的组件加载数据, 后者用于请求操作。

     

    全局变量管理:

    1.    使用单例模式;

    2.    所有模块公用的全局变量和函数放在文件 sharedUtils.js 和 sharedComponents.js 中统一管理; sharedUtils.js 管理实用工具类, sharedComponents.js 管理组件的常用配置;

    3.    特定模块公用的全局变量和函数放在该模块的 XXXUtils.js 文件中, 例如 VmoperationUtils.js

    命名规范:

    1.     程序中的所有变量一律采用驼峰式写法;而组件配置中的标识性变量 itemId, name 等值采用下划线写法。比如,

             var vmName =parent.down(‘textfield[name=”vm_name”]’);

    2.    模块名带有 _module 或 Module 后缀, 以便于区分;

    文件位置约定:

    1.    自定义样式放置于webapp/resources/css/moonmm.css 下;

    2.    图片放置于webapp/resources/images/ 下;

    3.    特定模块的局部 frame html 文件放置于 webapp/framehtml/下;

    4.    公用JS库、文件放置于 webapp/ 下

    应用目录结构:

    1.    整体MVC 目录结构: 分解为多个子MVC应用

                 


                 2.  每个子MVC 应用的目录结构:

                                             

                     

             

  • 相关阅读:
    Java程序员的成神之路
    es集群搭建(2个节点)
    MySQL主从复制与主主复制
    高并发量服务器架构
    AngularJS跨域问题
    CentOs7.3 搭建 RabbitMQ 3.6 单机服务与使用
    Dubbo的高可用
    Nginx配置性能优化
    从Socket谈到浏览器和服务器之间的关系
    关于数据库死锁
  • 原文地址:https://www.cnblogs.com/lovesqcc/p/4037751.html
Copyright © 2011-2022 走看看