我正在启动一个相当简单的开源Java项目。这个过程对我来说是新的,我习惯于只为自己编写程序。在Java中发布开放源码项目时,需要注意哪些良好的实践?
以下是我能想到的一些事情,你能给我其他的建议吗?
发布于 2009-05-11 15:01:12
您肯定应该做的一件事(因为它是Java)是为您的代码生成Javadocs。这意味着使用Javadoc表示法对类和方法进行注释,以便于其他人阅读。
发布于 2009-05-11 15:07:40
您还可以使用Maven发布代码。使用它,很容易为您的项目创建一个站点,指定依赖项,优化releases...For示例,Apache的公用项目。
发布于 2009-05-11 20:24:51
基本上,你希望你的项目“开箱即用”。当人们为某个任务选择合适的开源项目时,他们会下载一堆表示支持该任务的项目,并使用最好的项目。如果一个项目需要大量的工作来设置(例如,从20个不同的站点下载20个JAR依赖项),大多数人只会把它作为最后的手段,或者忽略它。
repository :您可以尝试一些较新的存储库引擎,比如汞或Git。它们简化了开发,方便了分支机构的合并。但是,重要的是,选择一个由IDE支持的引擎。
依赖关系:您应该使用自述文件来声明依赖关系,但这还不够,要么使用Maven来管理依赖关系,在这种情况下只需要包含pom.xml文件,要么在发行版中包含依赖的JAR。在第二种情况下,将依赖项划分为mandatory、optional、compiletime和test。一个可选依赖项的例子是Hibernate的字节码生成工具。
Site:Maven可能与您的软件的特定版本相关联(但从未使用过)。
文档化- JavaDoc:Document ,并尝试强制执行确保高质量javadocs的策略:
/**
* Sets the cost
* @param decimal cost
*/
public void setCost(BigDecimal decimal){是没用的。更好的办法是:
/**
* 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(并且会忘记一些事情)--它还将帮助您管理任务和新的需要的特性。你可能想试试:
项目管理软件:这将帮助您计算发布日期、开发人员之间的任务拆分等。
试图通过 Joel试验
Build process:使构建成为一个单击过程。例如,一个ant脚本增加版本号、启动maven构建、部署站点等等。值得付出的努力!
论坛:一个好主意,将有助于支持。
Wiki:在许多(甚至是相当发达的)项目中,这样的wiki是相当空洞的,这是很糟糕的(因为它会让人们想‘如果没有人在这个wiki中写东西,这怎么会是伟大的软件’)。
https://stackoverflow.com/questions/848521
复制相似问题