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

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. es6学习一 promise上

    简单来说promise在异步操作上提供可读性.(原来es5的异步操作可读性实在太糟糕了,如下图) 瞬间眼前百万只奔腾的马,只不过这种马有个别名,羊驼. 一.创建形式 1. 使用的基本形式: let p ...

  2. SpringBoot-整合lombok

    添加lombok依赖 <dependency> <groupId>org.projectlombok</groupId> <artifactId>lom ...

  3. inet超级服务器和守护进程

    inetd是监视一些网络请求的守护进程,其根据网络请求来调用相应的服务进程来处理连接请求.它可以为多种服务管理连接,当 inetd接到连接时,它能够确定连接所需的程序,启动相应的进程,并把 socke ...

  4. webmin改https访问

    直接用yum安装: yum -y install openssl perl perl-Net-SSLeay perl-IO-Tty perl-Crypt-SSLeay 测试perl模块是是否安装成功, ...

  5. MongoDB的客户端管理工具--nosqlbooster 连接MongoDB服务器

    nosqlbooster的官网地址为https://nosqlbooster.com.大家如果想直接下载,可以登入下载网址https://nosqlbooster.com/downloads. 下载w ...

  6. thinkphp无法安装提示修改mysql配置

    在安装以thinkphp为框架的系统时数据库连接错误,提示修改sql-mode或sql_mode为NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION.那我们就顺着提示 ...

  7. 删除docker registry镜像脚本

    使用: 删除指定镜像:/usr/local/bin/delete_docker_registry_image -i 镜像名 删除指定镜像指定标签:/usr/local/bin/delete_docke ...

  8. 致敬金庸:武侠版编程语言...Java像张无忌还是令狐冲?

    我就喜欢这样,等新闻消失,热点过去,人们快要遗忘的时候, 用自己的方式,想起他.让他被人想起. 短评:夫千里之远,不足以举其大:千仞之高,不足以举其深.<倚天屠龙记> 短评:这世间和张三丰 ...

  9. 26-Python3 面向对象

    26-Python3 面向对象 ''' 面向对象技术简介 ''' ''' 类定义 ''' ''' 类对象 ''' class MyClass: i = 12345 def f(self): retur ...

  10. Node.JS + Mysql数据库

    服务嘛,当然离不开数据库了,你要是见到数据就哭了,我建议你还是看看本文,不要做数据哭啊,哈哈哈 要做 ‘数据酷’嘛,哈哈哈 一 安装 1. wget -i -c http://dev.mysql.co ...