《.NET最佳实践》与Ext JS/Touch的团队开发
概述
有不少开发人员都问过我,Ext JS/Touch是否支持团队开发?对于这个问题,我可以毫不犹豫的回答:支持。原因是在Sencha官网博客中客户示例中,有不少项目都是基于团队模式开发的。
那为什么会出现这个问题?我觉得问题的关键在于不知道如何去进行模块独立调试或做最终的整合。对于这个问题,我觉得《.NET最佳实践》这本书(下文中简称为实践一书)或许会给大家带来一点启示。虽然这本书是针对.NET而写的,但我觉得,这对于Ext JS/Touch,甚至于其他开发语言的开发,还是有不错的借鉴意义的。
《.NET最佳实践(Pro .NET Best practices)》是.NET领域公认的经典著作,总结了大量.NET开发人员认为好用切高效的最佳实践,针对性地阐明了如何恰当地在个人、小组和行业中应用这些最佳实践,为个人和开发团队提高开发效率提供了绝佳指导
持续集成
在实践一书中,持续集成可以说是书中集大成于一身的实践,其目的就是要建立一个CI服务器,然后在该服务器上以自动化的形式实现代码的重新生成、单元测试、分析、打包、部署和稳定性测试。如果真要实现这个,对于小公司来说可能暂时还没这个能力,但我们可以借鉴其中的方式,例如,组件一台服务器,让开发人员不定时或定时的将已完成的可以进行测试的代码上传至服务器,让测试小组展开部分测试。而当服务器又更新的时候,可以通过客户端程序提醒开发人员去下载别人已经完成的代码,以便提供一个完整的开发环境以测试自己模块。
编码规范
在实践一书中,很强调编码规范,因为这有助于团队成员之间有一致的语言,并彼此配合。而作为一个组织、各个团队之间保持,有助于实现各个团队之间保持一致,有助于实现遵守公认的标准、有效的开发原则和好的实践。
对于Ext JS/Touch来说,它自身就是基于一定的编码规范来实现的,如命名空间、类的名称等等。在项目中遵循并延续这个规范,我觉得是最好不过的了,因为这有助于实现项目目标,而且框架自身就是使用这些规范实现,是一个极好的示例。当然,项目中还可以根据这些规范做更改与完善,以便更好的实现目标。
在项目开始之初,熟悉规范的开发人员,非常有必要向还不熟悉规范的开发人员介绍他们的经验,以便让这些开发人员尽早熟悉这些规范。在项目过程中,如果有新加入的项目成员,也很有必要向他们介绍这些规范,以便尽快融入到项目开发之中。以上这些都是实践一书的经验之谈,值得深入了解。
测试
实践一书对测试很重视,这也是当今的一个潮流。不过,对于javascript的测试来说,还是处于发展阶段,尤其是对于Ext JS/Touch的测试(包括工具),还是处于一种朦胧状态。虽然在Sencha官网博客上有不少介绍这方面的博客文章,但总的来说还是比较缺乏这方面的资料和经验,因而,如果真要在这方面下功夫,就要下点狠功夫去研究了。我觉得这个是值得去做的,因为熟悉和掌握这些方法,尽管未来不一定使用Ext JS/Touch来进行开发,但对公司未来来说,还是大有脾益的。
对于Ext JS/Touch这种可以将前端和后端分开开发的框架来说,我觉得,为了便于测试,把测试重点放在如何自动为前端提供虚拟数据进行测试,是值得先行研究的。不过,要实现全端与后端的分离,首先要做的工作就是数据的标准化工作,这个在我的书中都有具体的说明,在这就不赘述了。
小结
虽然实践一书的基本内容是基于.NET的,但很多实践方法其实也是适用于其他开发的,因而多看看这类的书,对于团队开发来说还是相当不错的。对于Ext JS/Touch来说,是非常适于团队开发的,而其具体的实现方式,可能目前还没有成熟的套路,但借鉴一下其他团队开发方式的思路,我觉得是可行的,而我推荐的就是实践一书。希望这些内容对大家有点帮助。
《.NET最佳实践》与Ext JS/Touch的团队开发的更多相关文章
- nodejs 实践:express 最佳实践(八) egg.js 框架的优缺点
nodejs 实践:express 最佳实践(八) egg.js 框架的优缺点 优点 所有的 web开发的点都考虑到了 agent 很有特色 文件夹规划到位 扩展能力优秀 缺点 最大的问题在于: 使用 ...
- gulp最佳实践(包含js,css,html预编译,合并,压缩,浏览器自动刷新)
gulp是基于流的自动化构建工具官方网址:http://www.gulpjs.com.cn/ 一.安装需要的模块 1.新建package.json,输入下面的内容 { "name" ...
- 【翻译】Sencha Ext JS 5公布
原文:Announcing Sencha Ext JS 5 简单介绍 我代表Sencha和整个Ext JS团队,非常自豪的宣布,在今天,Sencha Ext JS 5公布了.Ext JS 5已经迈出了 ...
- 【翻译】Sencha Ext JS 5发布
原文:Announcing Sencha Ext JS 5 简介 我代表Sencha和整个Ext JS团队,很自豪的宣布,在今天,Sencha Ext JS 5发布了.Ext JS 5已经迈出了一大步 ...
- Ext JS 5 beta版发布
原文:Announcing Public Beta of Ext JS 5 我们非常高兴的宣布,Sencha Ext JS 5 beta版本开始进行公测了.这个beta版本可以让你.我们Sencha社 ...
- Ext JS - 问答
Ext JS - 问答 在下面你将可以找到关于Ext JS 的最常见问题的答复.如果没有找到您所需的答复,请访问 Ext JS 论坛或者提交一个支持申请. 如果你确信你的问题可以对本页有补充,请让我们 ...
- nodejs 实践:express 最佳实践系列
nodejs 实践:express 最佳实践系列 nodejs 实践:express 最佳实践(一) 项目结构 nodejs 实践:express 最佳实践(二) 中间件 nodejs 实践:expr ...
- 《Ext JS模板与组件基本知识框架图----模板》
最近在整理Ext JS的模板和组件,在参考<Ext JS权威指南>,<Ext JS Web应用程序开发指南>,<Ext JS API>等相关书籍后才写下这篇< ...
- [Ext JS 4] 实战之Grid, Tree Gird编辑Cell
前言 本篇这里以稍微复杂一点的Tree Grid 来介绍. 在写编辑grid 之, 先来看一下 grid 的 selType 的配置. 先给一个简单的Tree grid 的例子: Ext.onRead ...
随机推荐
- Js删除数组函数
引用地址:http://www.398588.com/Article/T8/96.aspx 众所周知大家都应该知道delete的用法,用来删除对象或者删除数组等,如果是删除对象除数组以外可能可以删除的 ...
- C# get 、set、索引器
get 与 set C#类的属性有公有属性(public)和私有属性(private).如果直接将一个属性声明为public,则该类的任意实例可以随意获取或修改该属性的值,很不安全..NET Fram ...
- 通过内核修改centos密码
在开机启动的时候按键盘上的"E"键会进入如下界面. 选择相应的内核,再次按"E",出现下图,选择第二项,再次按"E"键 经过第二步,这个画面 ...
- ABP文档笔记系列
ABP文档笔记 - 模块系统 及 配置中心 ABP文档笔记 - 事件BUS ABP文档笔记 - 数据过滤 ABP文档笔记 - 规约 ABP文档笔记 - 配置.设置.版本.功能.权限 ABP文档笔记 - ...
- String字符串的操作
字符串的常用操作 # Author:nadech name = "my name is nadech" print(name.count("a")) print ...
- PHP XML SimpleXML
PHP 可以基于 SimpleXML 生成和解析 xml 的方法,通过本节的实例,你将了解 PHP 是如何使用 SimpleXML 生成及解析 xml 格式数据的. PHP SimpleXML 处理最 ...
- JMeter(十三)-代理服务器录制脚本
今天重点说一下jmeter如何利用自身的代理服务器录制脚本 1:工作台下创建代理服务器 2:配置代理,选择录制控制器 3:在Requests FIltering下添加排除模式,配置正则表达式.否则会录 ...
- linux下内存大小、起始地址的解析与修改
在实际的工作中,由于产品型号的不同,经常需要调整linux所管理的内存的大小,而内核在启动阶段,会两次去解析从uboot传递过来的关于内存的信息,具体如下: 一.解析从uboot传递过来的tag(在p ...
- Swift:Foundation框架中的NS前缀的由来
可能大家对于著名的NS前缀的由来有一些疑问. 绝大多数这些NS前缀的类是NeXTSTEP操作系统中Foundation框架里的一部分,而该操作系统是OS X的基础. NeXTSTEP的程序员对它们的类 ...
- activiti 多实例任务
1.1.1. 前言 个人,那么当5个人都投票的时候大概分为如下几种: 1.部门所有人都去投票,当所有人都投票完成的时候,这个节点结束,流程运转到下一个节点.(所有的人都需要投票) 2.部门所有人都去投 ...