以敏捷编程为主要思路,在我们部门的项目管理中,引入了如下的一些方法:
在流量分析系统的开发中,我们引入了自动集成。
以每天为一个周期,定期完成代码的编译、测试、打包、发布报告,分为以下几个部分:
统一的代码源
系统使用 svn 进行代码的统一管理
测试代码
为系统的主要功能编写了单元测试:
使用 testNG 进行测试代码管理,并和maven配合实现测试代码的自动运行
构建工具
使用 maven 作为自动构建工具,完成项目的编译、测试、打包和发布报告
持续集成工具
shell 脚本:定时执行
svn update 命令下载最新代码
调用maven完成代码的编译、测试和打包,发布到 web服务器tomcat 中,生成txt文件报告运行情况。
1. 我们现在使用 shell脚本作为持续集成工具,还是功能不够强大,比如不能测试失败后给相关人员发生邮件,只能生成文档,需要项目经理人工解读。
2. 引入maven时间比较短,大家使用还不是很熟练
3. 部分定制功能,需要编写maven自定义插件,或在maven中嵌入ant ,还在探索中
以前我们采用瀑布开发方式,在代码开发完成后,才开始写设计文档。这样就会造成三点坏处:
1. 虽然有模板,但不同的人写的文档格式不统一
2. 后期如果修改代码,文档可能不会及时更新
3. 写文档时间长,效率低下
通过优化开发流程,在前期就开始编写文档的核心元素,如序列图,类图等
保持模型与代码的同步
通过工具生成文档
具体流程:
创建工程——》建立序列图——》建立包——》建立类图——》生成代码——》eclipse中代码修改——》代码同步——》编写文档
文档模板和我们部门的实际情况有出入,后期需要对该模板进行定制
为了提高我们部门开发人员的水平,增强代码质量,主要从以下几个方面入手:
1. 使用eclipse的插件 findbug
该插件使用启发策略,可以发现 java 代码中潜在的bug
(挺简单的,你可以了解下,还是比较实用的)
2. 定义代码规范
对目录结构、类和函数命名、注释方式等给出说明
3. 编写单元测试
对于业务逻辑会编写单元测试,通过testng 可以对这些测试进行统一执行。
4. 开发阶段引入重构
培训开发人员,在代码写完后,单元测试运行无误后,进行代码重构
5. 代码评审
每周一进行代码评审