首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Java发布工程良好实践

Java发布工程良好实践
EN

Stack Overflow用户
提问于 2009-05-11 14:57:58
回答 7查看 755关注 0票数 5

我正在启动一个相当简单的开源Java项目。这个过程对我来说是新的,我习惯于只为自己编写程序。在Java中发布开放源码项目时,需要注意哪些良好的实践?

以下是我能想到的一些事情,你能给我其他的建议吗?

  • 版本控制存储库(您用什么来解释相关的标记/分支?外部自述文件?)
  • 在代码中包括适当的开源许可证
  • 包括预先打包的可执行JAR文件,包括文件名中的版本号。
  • 某种自述文件,它解释了构建/运行软件所需的外部依赖关系(对于文件名和放置位置是否有共同的约定?)
  • 项目的网页,在源代码和/或可执行文件中指向该项目的链接,以防某人首先获得源代码或可执行文件(而不是通过有关的网页)
EN

回答 7

Stack Overflow用户

发布于 2009-05-11 15:01:12

您肯定应该做的一件事(因为它是Java)是为您的代码生成Javadocs。这意味着使用Javadoc表示法对类和方法进行注释,以便于其他人阅读。

票数 6
EN

Stack Overflow用户

发布于 2009-05-11 15:07:40

您还可以使用Maven发布代码。使用它,很容易为您的项目创建一个站点,指定依赖项,优化releases...For示例,Apache的公用项目。

票数 5
EN

Stack Overflow用户

发布于 2009-05-11 20:24:51

基本上,你希望你的项目“开箱即用”。当人们为某个任务选择合适的开源项目时,他们会下载一堆表示支持该任务的项目,并使用最好的项目。如果一个项目需要大量的工作来设置(例如,从20个不同的站点下载20个JAR依赖项),大多数人只会把它作为最后的手段,或者忽略它。

repository :您可以尝试一些较新的存储库引擎,比如Git。它们简化了开发,方便了分支机构的合并。但是,重要的是,选择一个由IDE支持的引擎。

依赖关系:您应该使用自述文件来声明依赖关系,但这还不够,要么使用Maven来管理依赖关系,在这种情况下只需要包含pom.xml文件,要么在发行版中包含依赖的JAR。在第二种情况下,将依赖项划分为mandatoryoptionalcompiletimetest。一个可选依赖项的例子是Hibernate的字节码生成工具。

Site:Maven可能与您的软件的特定版本相关联(但从未使用过)。

文档化- JavaDoc:Document ,并尝试强制执行确保高质量javadocs的策略:

代码语言:javascript
复制
 /**
  * Sets the cost
  * @param decimal cost 
  */
 public void setCost(BigDecimal decimal){

是没用的。更好的办法是:

代码语言:javascript
复制
 /**
  * Sets the cost, cost is in currency setted by #setCurrency. 
  * @param decimal cost, precision shoule be at least three places
  */
 public void setCost(BigDecimal decimal){

Documentation:Javadoc是不够的。给出一些起点--一个教程更好(我不是指有许多eclipse对话框截图的那种教程;)。示例代码也可以,或者至少在某个地方编写--“读取EntryPoint类的javadoc是开始使用这个库的好方法”。如果您只有javadocs,任何正在考虑使用您的库的人都会收到所有clases和包的列表,并且不知道从哪里开始。

Bugtracking软件:您不会记得一次有三个bug(并且会忘记一些事情)--它还将帮助您管理任务和新的需要的特性。你可能想试试:

  • FogBugz -它很好,但要花钱。(最多可供两个开发人员使用)。
  • 布奇拉 -漂亮,受欢迎,免费

项目管理软件:这将帮助您计算发布日期、开发人员之间的任务拆分等。

  • dotProject免费的,好的。
  • FogBugz -再一次的工作很棒。

试图通过 Joel试验

Build process:使构建成为一个单击过程。例如,一个ant脚本增加版本号、启动maven构建、部署站点等等。值得付出的努力!

论坛:一个好主意,将有助于支持。

Wiki:在许多(甚至是相当发达的)项目中,这样的wiki是相当空洞的,这是很糟糕的(因为它会让人们想‘如果没有人在这个wiki中写东西,这怎么会是伟大的软件’)。

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/848521

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档