来源:北大青鸟飞迅校区|发布时间:2013-04-30 15:48:15
这是我在做每个项目时的明细表,强烈建议您也这样做。原因是:(1)新的开发者很快的就能够加快这个项目的进程,(2)用户能够容易的安装你的产品,而且也很容易去维护。
1、版本控制:应该说您需要有某种形式的版本控制系统。如今的版本控制系统应该选择Subversion ,您只需要一台服务器主机。开放源代码的项目时,我使用code.google.com ,商业项目时我使用Hosted-Projects 。Hosted-Projects,每月只需几美元,你在网上有一个备份。您需要检查你的repository,也包括所有的依赖库。
2、命令行编译脚本:我大部分的时间都在用Eclipse,他可以为我做所有的编译,单元测试和代码覆盖(EclEmma)。不过您需要命令行脚本去不断的build(通常是使用Ant 脚本)。你的脚本应分为:
(1)编译代码
(2)编译测试
(3)生成javadoc
(4)运行测试与代码覆盖:我使用Emma 或cobertura。
(5)生成报告:测试的通过/失败和覆盖
(6)建立一个分布的JAR。
3、连续Build:我见过很多项目,由于储存库的头部并没有被编译,导致无休止的生产力损坏。始终有一个规则,无论如何至少要让存储库编译(通过测试更为理想的)。使用持续集成服务器,例如cruisecontrol 或Hudson。我宁愿选择Hudson,因为安装它很简单,而且功能非常强大,为您的上层管理提供了很多很好的图形显示。您要连续获得JARs,javadoc,测试报告,覆盖面的报告它能提供生成的脚本。对于code-base的状态基本上没有疑议,如果你的老板想尝试最新的代码,他可以下载继续Build。
4、自动分级推动:设置连续Build,如果测试通过就自动的将代码转到分级服务器。我通常会使用Tomcat 服务器,只需要更新Web-INF目录与最新的代码,Tomcat 就会自动的告知新的文件和刷新。这给了人们展示产品的平台。您可以让您的QA使用这个服务器,也可以使用单独的一个。我经常会有很多的自动化测试,所以我将网站直接给客户,并告诉他们这是“Alpha”服务器。这是非常有用的,当您的工作的一项功能完成,客户得到这一部分,对该功能的意见能给你正面的推动,如果到最后客户才能看到,项目就很难进行改变。
5、测试和覆盖:即使您是新的自动化测试和单元测试,我仍建议你还是要按照清单上来做。自动化的测试个给下个阶段带来了整体的进步。您从自动化的测试得到的好处是巨大的,并且关于测试的介绍也出版了书籍,所以我们不在这里详细的讲解。
6、默认的嵌入式Web服务器:如果您正在建设一个Web应用程序,我推荐Jeety 作为您的Web容器。Jetty 最酷的地方是您可以在您的main函数中新建服务。使用Tomcat时,你要导入一个war文件,并将它添加到Tomcat 的目录中,然后等待Tomacat “安装”,这样就会比较麻烦。但使用Jeety 您可以通过一个main函数开始您的应用(就像一个正常的桌面APP )并通过你的main函数来启动Jeety。您的开发者更容易去开发/调试,您的客户也更容易去部署。
招生热线: 4008-0731-86 / 0731-82186801
学校地址: 长沙市天心区团结路6号
Copyright © 2006 | 湖南大计信息科技有限公司 版权所有
湘ICP备14017520号-3