编写开源Java的最佳实践
在哪里可以找到编写开源Java代码的最佳实践? 我不是在寻找如何正确编写代码的方向,而是在分发、打包、文档以及除.java文件之外的所有其他方面 我的目标是将我编写的模块作为开源发布编写开源Java的最佳实践,java,open-source,Java,Open Source,在哪里可以找到编写开源Java代码的最佳实践? 我不是在寻找如何正确编写代码的方向,而是在分发、打包、文档以及除.java文件之外的所有其他方面 我的目标是将我编写的模块作为开源发布 编辑-我仍然缺少关于zip文件应该包含哪些内容的直接、具体的说明。这方面是否有惯例,或者我是否应该选择一些合理的结构?请参阅卡尔·福格尔的书-在线提供的资料来源。我不确定是否会对“最佳实践”达成普遍共识,但您提到的项目可能有简单的答案: 使用java.net或Sourceforge可以轻松发布。您将使用他们的标准发
编辑-我仍然缺少关于zip文件应该包含哪些内容的直接、具体的说明。这方面是否有惯例,或者我是否应该选择一些合理的结构?请参阅卡尔·福格尔的书-在线提供的资料来源。我不确定是否会对“最佳实践”达成普遍共识,但您提到的项目可能有简单的答案:
我将尝试考虑更多。我认为这一切归结为自动化构建测试包部署周期。理想情况下,您应该能够通过单击(或使用单个提示命令)完成此操作 就我个人而言,我使用ant并定义了一个部署目标,它执行以下操作
显然,为了使这个过程有效,您必须测试感染-我为我正在实现的每个新特性编写测试 如果您正在寻找特定的目录结构,为什么不看看现有的开源项目呢?首先,这是一个被大量使用的软件包
在没有任何统计数据支持的情况下,我会说,许多项目使用与Maven指定的目录结构类似的目录结构,即使它们不使用Maven本身(如果您能够通过Maven学习曲线,它在90%的时间里都是一个很好的构建工具)。我没有添加太多,但我建议如下: 目录结构
- 尽量使javadoc完整,大多数开源模块或库没有太多javadoc注释。生成javadocs文档并将其放置在apidocs等目录中。如果适用于javadocs,您应该指定允许谁调用类,以及在什么情况下应该调用类/函数。小的代码示例也没有坏处,值得添加
- 添加“示例”目录以提供帮助 开发人员/用户使用/集成 你的模块
- 在的根目录下添加许可证文件 您的目录结构并确保 您的每个文件都有一个许可证 标题
- 在根目录下添加自述文件 发布的目录 一般信息和/或 详细信息(指向软件的链接, 作者、帮助和支持、安装 说明等)
- 通常源代码进入src目录,文档进入docs文件夹
- 尝试将软件分发到适当的格式(zip、tar.gz、dmg、exe、jar等)。例如,对于一个web应用程序,我会有一个zip、tar.gz、一个war,也许还有一个ear。根据您要上载到的网站,您可能需要使用存档格式,如zip
- 如果适用或不太繁琐,请创建安装程序
- 如果适用,请按照说明上载模块
- 宣传您的模块(博客、论坛、Twitter等) 在打包或上载时,请始终进行其他测试,否则可能会发生意外情况(文件丢失、存档损坏等)
我建议将源代码放在src/下,将构建的库放在lib/下,将文档放在docs/下-这是人们所期望的。使用,您将获得所需的所有工件。。。使用一个简单的命令“mvn package site”我建议您将SourceForge()用于项目托管,因为他们有各种各样的工具(博客、wiki、源代码管理选项等),而且都是免费的 至于在zip/jar中放什么。。。这实际上取决于项目的类型。如果它是一个可重用的库,我建议在归档文件的根目录中,有您的许可证和分发jar。你可以把