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

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 应用的目录结构:

Extjs4前端开发代码规范参考的更多相关文章

  1. web前端开发 代码规范 及注意事项

    web前端开发 代码规范 及注意事项 外部命名规范 html .js .css文件名称命名规范 my_script.js my_camel_case_name.css my_index.html 路径 ...

  2. Web 前端开发代码规范(基础)

    一. 引言 对于一个多人团队来说,制定一个统一的规范是必要的,因为个性化的东西无法产生良好的聚合效果,规范化可以提高编码工作效率,使代码保持统一的风格,以便于代码整合和后期维护. 二. HTML/CS ...

  3. Android开发代码规范(转)

    Android开发代码规范 1.命名基本原则    在面向对象编程中,对于类,对象,方法,变量等方面的命名是非常有技巧的.比如,大小写的区分,使用不同字母开头等等.但究其本,追其源,在为一个资源其名称 ...

  4. Web前端开发标准规范

    web前端开发规范的意义 提高团队的协作能力 提高代码的复用利用率 可以写出质量更高,效率更好的代码 为后期维护提供更好的支持 一.命名规则 命名使用英文语义化,禁止使用特殊字符,禁止使用拼音,禁止使 ...

  5. 中小型前端团队代码规范工程化最佳实践 - ESLint

    前言 There are a thousand Hamlets in a thousand people's eyes. 一千个程序员,就有一千种代码风格.在前端开发中,有几个至今还在争论的代码风格差 ...

  6. Web前端开发CSS规范总结

    作为Web前端开发必备语言,CSS为大家广为熟知,今天就跟大家分享下CSS规范总结,Web前端的小伙伴们看过来吧! CSS样式的权值(权重) 权值等级的定义 第一等:代表内联样式,如: style=” ...

  7. FW开发代码规范---小任性(2)

    三.空行 (1)在每个函数.结构体.枚举定义结束之后都要加空行. 在一个函数体内,逻辑密切相关的语句之间不加空行,其它地方应加空行分隔. struct st1 { - }; // 空行 enum { ...

  8. Android开发代码规范

    目录 1.命名基本原则  2.命名基本规范 2.1编程基本命名规范 2.2分类命名规范 3.分类命名规范 3.1基本数据类型命名规范 3.2控件命名规范 3.3变量命名规范 3.4整个项目的目录规范化 ...

  9. IOS开发-代码规范

    代码风格的重要性对于一个团队和项目来说不言而喻.网上有许多 Objective-C 的代码风格,但这份简洁而又最符合苹果的规范,同时有助于养成良好的代码习惯,也是我们团队一直遵循的代码风格. 写法没有 ...

随机推荐

  1. java 抽象类 abstract

    package cn.sasa.com; //抽象类 被abstract修饰的类 public abstract class Animal { //抽象类的成员变量 的定义 与 一般类是一样的 pri ...

  2. ETL : kettle Spoon 转换 + 作业

    Kettle能做什么? 前言 : 需将db2中数据导入到mysql中,利用etl工具进行多表转换.以此为切入点,系统整理.学习kettle工具. 提醒: kettle是纯java编写,机器需要有jre ...

  3. dedecms站内搜索页面调用最新文章

    在页面中调用最新文章列表可以使新发布的文章更快被收录,如何在dedecms站内搜索页面调用最新文章呢? 1.登陆系统后台,进入“模板——模板管理——自定义宏标记”,点击“智能标记向导”进入智能标记生成 ...

  4. react img 被自动转成base64,无法根据当前路径来动态改变值的解决办法

    项目需求,需要根据当前的图片的路径值的来(加或者减)动态改变其值: state定义如下: this.state={ basket01:0+require("../../img/egg/egg ...

  5. Element-table-formatter格式化数据

    1.formatter  用来格式化内容   对table的值进行处理.Function(row, column, cellValue, index){}   使用formatter需要注意以下几点: ...

  6. 万恶之源 - Python装饰器及内置函数

    装饰器 听名字应该知道这是一个装饰的东西,我们今天就来讲解一下装饰器,有的铁子们应该听说,有的没有听说过.没有关系我告诉你们这是一个很神奇的东西 这个有多神奇呢? 我们先来复习一下闭包 def fun ...

  7. 调用另一个文件的python代码【转载】

    转自:https://blog.csdn.net/u010412719/article/details/47089883 例如我们有a.py和b.py两个文件,当我们需要在b.py文件中应用a.py中 ...

  8. websocket协议的思考

    同过wireshark抓包,都是TCP的连接,省了好多的HTTP的头部请求 Ping Pong,TCP keep alive,双方没有数据来往的时候,通过发空白报文,侦测的报文来决定看这个链接是否还存 ...

  9. 【转360】KB4041678 Windows 仅安全更新(2017.10) 补丁更新后执行SQL出错! http://bbs.360.cn/thread-15201531-1-1.html

    把EXCEL20003表数据导入到MDB数据库中sql命令语句\"SELECT * INTO 表 FROM [Excel 8.0;DATABASE=C:\\1.xls].[Sheet1$]\ ...

  10. xcode 各版本下载地址及其它工具下载地址

    官方下载地址:https://developer.apple.com/downloads/