Open source 具有真实设计文档的开源项目

Open source 具有真实设计文档的开源项目,open-source,documentation,Open Source,Documentation,您可以在INTERNET上找到许多开源项目(如Linux、open office等) 但是我没有发现任何一个开源项目有完整的、好的、真实的文档 我的意思不仅仅是源文档。我的意思是,收集客户需求、设计模式和所有文件 与以丰富的潜在客户(客户需求)为目标的专有应用程序不同,开源项目通常是从头开始的。设计模式与文档无关。这只是样板设计。至于文书工作,你让这听起来像是一件“好事”。) 有一些开源项目在实施之前会提前详细设计。一个快速浮现在脑海中的是bzr DVCS。文件可用。Martin Pool在开始

您可以在INTERNET上找到许多开源项目(如Linux、open office等)

但是我没有发现任何一个开源项目有完整的、好的、真实的文档

我的意思不仅仅是源文档。我的意思是,收集客户需求、设计模式和所有文件


与以丰富的潜在客户(客户需求)为目标的专有应用程序不同,开源项目通常是从头开始的。设计模式与文档无关。这只是样板设计。至于文书工作,你让这听起来像是一件“好事”。)


有一些开源项目在实施之前会提前详细设计。一个快速浮现在脑海中的是bzr DVCS。文件可用。Martin Pool在开始工作之前花了相当长的时间来记录它。

为什么我们有需求文档和设计文档?敲定双方之间的协议,一方需要某些软件,另一方负责制作。该文档非常有用,因为它可以帮助双方一起高效地制作正确的软件

有时在开源软件中,你可以找到这种关系。在这种情况下,您有时可以找到预先设计文档。如果您想向Python编程语言添加一个特性,那么必须编写一个脚本并获得批准,以确保您所实现的是Python维护人员愿意接受的内容。您可以在中找到许多指向设计文档的链接;我猜这里的“客户”是Sun marketing。最近,我为其他人实现的一些开源软件设计了一个API,并为此提前准备

但是许多开源开发遵循完全不同的模式,其中应用了以下一个或多个因素:

  • 工作单元是单个功能或bug修复。通常在bug跟踪系统中,如果你想这样想,你可以找到一段需求文档。较小的工作单位实际上是一大优势;封闭源代码开发通常不能遵循这样的模式,因为交易成本(建立信任、找出需要什么、商定范围和价格等)太高

  • 开发人员正在为自己开发软件。如果您知道自己想要什么,编写正式的设计文档可能不会有回报。(你可以改为在白板上写几个字。)

  • 该项目最初并不打算被广泛使用。如果代码将在一小时内在您的机器上运行并完成其工作,单独的设计文档会有什么帮助?如果它随着时间的推移发展成为其他人可以使用的东西,那么流程文档应该在什么时候进入画面

  • 有一个设计文档,但没有发布。记住,这些文档的目的是帮助高效地制作正确的软件。一旦制作完成,这些文档就没有多大用处了。(另外:开源软件通常是根据公司合同编写的。虽然完成的代码是公开的,但过程文档可能会被明确或隐含地视为机密。)

  • 开发人员只是不愿意做前期设计。我倾向于认为这太糟糕了,但唉,这是一个促成因素

有时,软件在实施和验证后会被记录下来。下面是描述其内部结构的一部分。这里有一个关于。如果你对某个特定的项目感兴趣,那么很容易找到例子。谷歌搜索
linux内核设计
找到。

看看(早期版本的)。这是a.o.Erich Gamma(GoF)为其模式语言工作开发的HotDraw框架的java版本

您不太可能找到任何包含完整和最新文档(包括依赖关系映射)的项目(开源或开源)。您可能会发现一些非常小的构建,用于教育目的。对于法律强制要求这样做的系统,文档的实际质量通常很低,因为它们不是为了给信息的作者或消费者带来任何真正的利益,而是为了承担法律责任

在开源项目中,有一种强烈的倾向,即只编写直接使用的文档,因为它们有一个非常好的工作优先级排序过程。工作交接时需要沟通。文件可以提供这一点。但是,在大多数开源项目中,有一种强烈的倾向,即人们希望一个特性同时也是该特性的实现者。在这种情况下,几乎不需要太多的文档。 开源项目需要概述文档来描述工作标准、使用的设计模式,以及能够帮助新贡献者跟上进度的一切

如果您想真正了解正确管理依赖关系有多困难,请查看:

管理设计数据:CAD框架、配置管理和产品数据管理的五个维度 范登哈默,P。;莱波特,K。 IEEE会议录 第84卷,第1期,1996年1月第页(s):42-56 数字对象标识符10.1109/5.476025


我认为你不会找到一个拥有所有设计文档的开源项目。我仍然对使用你的软件的程序员数量感到惊讶,因为他们的意思是:)我不相信唯一的目的是正式确定请求软件的人和制作软件的人之间的协议。它还使人们保持在同一页上。Joel Spolsky在s