《.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 ...
随机推荐
- 函数&语法
定义一个函数 加上一些算法,由自己定义的函数,以下是简单的规则: 函数代码块以 def 关键词开头,后接函数标识符名称和圆括号 (). 任何传入参数和自变量必须放在圆括号中间,圆括号之间可以用于定义参 ...
- Go 语言结构
Go Hello World 实例 Go 语言的基础组成有以下几个部分: 包声明 引入包 函数 变量 语句 & 表达式 注释 接下来让我们来看下简单的代码,该代码输出了"Hello ...
- PHP 文件
PHP 文件处理 fopen() 函数用于在 PHP 中打开文件. 打开文件 fopen() 函数用于在 PHP 中打开文件. 此函数的第一个参数含有要打开的文件的名称,第二个参数规定了使用哪种模式来 ...
- ELK 6安装配置 nginx日志收集 kabana汉化
#ELK 6安装配置 nginx日志收集 kabana汉化 #环境 centos 7.4 ,ELK 6 ,单节点 #服务端 Logstash 收集,过滤 Elasticsearch 存储,索引日志 K ...
- “ML学分计划”说明书
计划的由来 我们是一群对机器学习感兴趣的小伙伴,对于神奇的机器学习经常有"一探究竟"的冲动,却因为孤身一人学习的寂寞.亦或繁忙考试工作之余的小小拖延症,而没有持续这份对知识的渴求和 ...
- git 同步勾子
#!/bin/bash git --git-dir=/var/www/domain/.git --work-tree=/var/www/domain pull uwsgi --reload /tmp/ ...
- Oracle常用语句语法汇总
第一篇 基本操作 --解锁用户 alter user 用户 account unlock; --锁定用户 alter user 用户 account lock; alter user sco ...
- Swift运行时简介
因为Swift的操作在高层并且也得与Objc联合起来干活,用Swift写的程序一般会被Objc和Swift运行时处理.因为Swift的本性--换句话说,它是一门静态语言--Swift运行时在一些关键地 ...
- Thread Pools
许多程序会动态创建数十个设置上百个线程.举个例子,一个web服务器可能在每一个新到来的请求时创建一个新线程,然后在请求完成后将其终止. 然而,创建一个新线程将会带来一定的耗费:它需要在内核中创建自身必 ...
- Android TV开发总结(二)构建一个TV Metro界面(仿泰捷视频TV版)
前言:上篇是介绍构建TV app前要知道的一些事儿,开发Android TV和手机本质上没有太大的区别,屏大,焦点处理,按键处理,是有别于有手机和Pad的实质区别.今天来介绍TV中Metro UI风格 ...