`

每个项目最重要的十件事(转)

阅读更多

是我在做的明表,我烈建您也这样做。原因是:(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,因安装它很简单,而且功能非常大,您的上管理提供了很多很好的

示。您要连续获JARsjavadoc 测试报告,覆盖面的告它能提供生成的脚本。code-base

基本上没有疑,如果你的老板想尝试最新的代,他可以下载继续Build

4.自动分级推动连续Build,如果测试就自的将代码转到分器。我通常会使用Tomcat

器,只需要更新Web-INF与最新的代Tomcat 就会自的告知新的文件和刷新。这给了人展示

的平台。您可以您的QA使用个服器,也可以使用独的一个。我常会有很多的自测试,所以我将

网站直接,并告们这是“Alpha”服器。是非常有用的,当您的工作的一功能完成,客得到

一部分,对该功能的意你正面的推,如果到最后客才能看到,目就很难进行改

5.测试和覆盖:即使您是新的自测试测试,我仍建是要按照清上来做。自化的测试

来了整体的进步。您从自化的测试得到的好是巨大的,并且测试的介也出版了籍,所以

不在详细解。

6.默认的嵌入式Web服务器:如果您正在建一个Web用程序,我推荐Jetty 您的Web容器。Jetty 最酷的地方是您可以在您的main函数中新建服。使用Tomcat ,你要入一个war文件,并将它添加

Tomcat 的目中,然后等待Tomacat “安装” ,这样就会比。但使用Jetty 您可以通一个main

始您的用(就像一个正常的桌面APP )并通你的main函数来启Jetty 。您的开发者更容易去开发/

,您的客也更容易去部署。

7.默认情况下嵌入式数据库:没有什比一个复杂的数据安装明更复杂。所以我使用一个嵌入式数据

例如HSQLDB 。 在开发测试中,我采用一个内存数据,然后我才使用个数据的硬版本。 但

情况下客/开发做的没有不同,是最重要的。如果生产环境需要大负载,我再提供命令行选项,切

到外部数据Oracle数据

8.自动安装模式用程序启的第一件事就检查schema是否安装。 如果没有它会自安装模式。 我通常使

用的Hibernate ,如果需要他会我做所有的事,升架构,以新的版本。所以在数据中我从来没有担心

架构问题

9.guice 依赖注入:如果您想要一个可维护性,可性和容易理解的code-base,您需要使用依注入 ( DI

)作一个设计模式。一个自化的DI框架,使您的工作更松。我使用guice我想是最先DI,同

picocontainer spring

10.易于安装/运行在考的是让顾客更容易的去尝试你的品。 我喜欢给我的客看一个JAR文件,并告

“双”来启JVM Web器,数据,安装架构,并推出网络浏览器(基于本地)。或您的

Java Web Start 始,这样你就可以在web面中一式安装,这样就不需要安装手册了。

a)把主要class放在JAR MANIFAST这样只要双就可以加你的用。

b)把所有的JAR放在主要的JAR文件中,使用JarJar 或者One-Jar-Classloader

c给应用提供:内存数据;安装schema; Web的容器; 安装自提供一个admin等等……

这给来了什?您将有快和富有成效的开发流程和快客,而且可以很容易你的品吸引到

分享到:
评论

相关推荐

    C++网络爬虫项目

    每个超文本传输线程通过已明确有数据可读的套接字接收来自服务器的超文本 传输协议响应,并交由统一资源定位符队列进行超链接抽取和布隆排重过滤, 直至压入原始统一资源定位符队列。在压入原始统一资源定位符队列...

    基于强化学习训练德州扑克的agent源码+项目说明.zip

    虽然每个玩家的已知信息有差异,十几年的好兄弟就为个这玩意吵得就差动手了,也没办法说服对方。这实在是一件很爽的事。 3. 所以这能给我什么启发?我的人生,基本可以抽象成无限次的大规模协作场景的信息不对称的...

    根据表结构自动生成JavaBean,史上最强最专业的表结构转JavaBean的工具(第11版)

    一直以来把数据库的表转换成Entity或DTO都是一件让人头痛的事情,既浪费时间又很繁琐,看着几十上百个表的几百上千个字段,真是一件让人很头痛的事情。 我们也想过很多办法解决这个问题,包括用MyEclipse连接...

    grunt-reporter:完全控制 Grunt 的输出。 根据您的喜好自定义每个任务的输出

    根据您的喜好自定义每个任务的输出。 跳转到部分 介绍 所以先生,你终于来了。 你已经创建了最棒的 Grunt 工作流程,使用了十几个很棒的插件。 您正在运行它们,他们甚至可能提供一些额外的了一些急需的定制。 说...

    入门学习Linux常用必会60个命令实例详解doc/txt

    每个虚拟控制台可以看作是一个独立的工作站,工作台之间可以切换。虚拟控制台的切换可以通过按下Alt键和一个功能键来实现,通常使用F1-F6 。 例如,用户登录后,按一下“Alt+ F2”键,用户就可以看到上面出现的...

    c#学习笔记.txt

    c#学习笔记(1) 51099在线学习网发布 文章来源:网络收集 发布时间:2006-05-25 字体: [大 中 小] ... 1, 结构(struct) 与 类(class) ...有人说,选择C#意味着选择MS(在中国的程序员当中,这并不是件值得自豪的事...

    华创缺陷管理系统 V5.4

    最重要的,我们提供完善的技术支持,软件使用中遇到问题,打个电话也许几分钟就可解决,而免费软件很可能会耗费您几天时间。 与大而全的测试管理系统相比,华创又有什么优势? 市场上有些系统可以与需求、测试方案...

    iocomp.bpl for delphi 10.2 or cb

    对于程序员来说,要凭一己之力开发出漂亮逼真的工控仪表和工控图表是非常耗时间和精力的,那么使用专业的第三方控件就是不错的选择,不仅节约开发时间,降低了项目风险,最重要的是第三方控件写的程序更专业,工控...

    二十三种设计模式【PDF版】

    Mediator 很象十字路口的红绿灯,每个车辆只需和红绿灯交互就可以. 设计模式之 State(状态) 状态是编程中经常碰到的实例,将状态对象化,设立状态变换器,便可在状态中轻松切换. 设计模式之 Memento(注释状态?) 很...

    渲染篇 5:最后一击——回流(Reflow)与重绘(Repaint)(1).md

    至少当我确定自己的研发方向、并接到第一个性能优化任务时,我做的第一件事是向搜索引擎求助,第二件事是买书,然后开始了摸着石头过河,前后花费了大量的时间和精力。我深感性能优化实在是前端知识树中特别的一环...

    Linux操作系统基础教程

    Linux 操作系统基础教程 清华大学信息学院计算机系 ...从网上下载的,但是我不推荐易用这种方法得到 Linux,因为仅仅核心就有几十个 Mbit 的 数据量,而一个完整的发行版本大概都是 1Gbit 左右的数据量...

    存储篇 1:浏览器缓存机制介绍与缓存策略剖析(1).md

    至少当我确定自己的研发方向、并接到第一个性能优化任务时,我做的第一件事是向搜索引擎求助,第二件事是买书,然后开始了摸着石头过河,前后花费了大量的时间和精力。我深感性能优化实在是前端知识树中特别的一环...

    前方的路:希望以此为你的起点.md

    至少当我确定自己的研发方向、并接到第一个性能优化任务时,我做的第一件事是向搜索引擎求助,第二件事是买书,然后开始了摸着石头过河,前后花费了大量的时间和精力。我深感性能优化实在是前端知识树中特别的一环...

    渲染篇 1:服务端渲染的探索与实践(1).md

    至少当我确定自己的研发方向、并接到第一个性能优化任务时,我做的第一件事是向搜索引擎求助,第二件事是买书,然后开始了摸着石头过河,前后花费了大量的时间和精力。我深感性能优化实在是前端知识树中特别的一环...

    网络篇 1:webpack 性能调优与 Gzip 原理(1).md

    至少当我确定自己的研发方向、并接到第一个性能优化任务时,我做的第一件事是向搜索引擎求助,第二件事是买书,然后开始了摸着石头过河,前后花费了大量的时间和精力。我深感性能优化实在是前端知识树中特别的一环...

    性能监测篇:Performance、LightHouse 与性能 API(1).md

    至少当我确定自己的研发方向、并接到第一个性能优化任务时,我做的第一件事是向搜索引擎求助,第二件事是买书,然后开始了摸着石头过河,前后花费了大量的时间和精力。我深感性能优化实在是前端知识树中特别的一环...

    网络篇 2:图片优化——质量与性能的博弈(2).md

    至少当我确定自己的研发方向、并接到第一个性能优化任务时,我做的第一件事是向搜索引擎求助,第二件事是买书,然后开始了摸着石头过河,前后花费了大量的时间和精力。我深感性能优化实在是前端知识树中特别的一环...

    渲染篇 3:对症下药——DOM 优化原理与基本实践(1).md

    至少当我确定自己的研发方向、并接到第一个性能优化任务时,我做的第一件事是向搜索引擎求助,第二件事是买书,然后开始了摸着石头过河,前后花费了大量的时间和精力。我深感性能优化实在是前端知识树中特别的一环...

    开篇:知识体系与小册格局(1).md

    至少当我确定自己的研发方向、并接到第一个性能优化任务时,我做的第一件事是向搜索引擎求助,第二件事是买书,然后开始了摸着石头过河,前后花费了大量的时间和精力。我深感性能优化实在是前端知识树中特别的一环...

    存储篇 2:本地存储——从 Cookie 到 Web Storage、IndexDB(1).md

    至少当我确定自己的研发方向、并接到第一个性能优化任务时,我做的第一件事是向搜索引擎求助,第二件事是买书,然后开始了摸着石头过河,前后花费了大量的时间和精力。我深感性能优化实在是前端知识树中特别的一环...

Global site tag (gtag.js) - Google Analytics