存储软件文档的最佳方法是什么?

存储软件文档的最佳方法是什么?

What is the best way to store software documentation?

一个明显的答案是"内部Wiki"。 Wiki用于软件文档的优缺点是什么? 还有其他建议吗? 您正在使用什么作为软件文档?

Loren Segal-不幸的是,我们不支持任何文档工具来从源代码注释中编译信息,但我同意这将是存储技术文档的最佳方法。 我的问题是关于各种文档,从sysadmin类型到用户文档。


这是一个非常开放的问题,取决于许多因素。

一般来说,如果您使用的语言具有良好的文档生成工具(javadoc,doxygen,MS的C#东西),则应在方法上方编写文档,并让您的工具生成页面。这样做的好处是,您可以将文本的源代码与代码保持在一起,这意味着在逻辑上正确的位置对文本进行了组织,并且在更改方法的行为时可以轻松地对其进行编辑。

如果您没有良好的文档工具支持或无法访问源代码,那么Wiki并不是一个坏主意,但是它们是上述的第二选择。

注意:我在这里只谈论代码文档。其他工件显然不能与代码一起存储-Wiki是放置这些文档的好地方。或者,如果您使用某些CMS,则只需将其提交为docs/文件夹中的文本/ pdf /任何文件,即可通过存储库进行编辑。这样做的好处是,如果移动了存储库,它们将保留在存储库中,而Wiki则不会(必须)移动。


工具很重要,但是在寻找魔术工具时不要陷入困境。我找不到的工具还没有"使用微小的隐形精灵神奇地记录所有内容"复选框。 :-)

维基可以正常工作。或Sharepoint。或Google文档。或者,您可以使用SVN存储库。地狱,如果您真的需要的话,可以用笔,便条纸和文件柜来做。 (我真的不建议这样做!)

最重要的关键是您需要整个组织的支持。在许多商店中,发生的事情是他们花了很多时间和金钱在诸如Sharepoint之类的精美解决方案上,然后每个人都虔诚地使用了大约两个星期,然后人们忙于达到最新的里程碑,这是最后一个任何人都听说过。

根据您的组织,领域,开发的产品类型等,有一些解决方案,但是您需要使用一种或另一种方法来建立系统并使用它。任命某人为官方文件沙皇,给他们一个线索,并让他们每当他们说"哦,是的,下周我将完成记录……"时就将他们击中头部。如果那是需要的。 :-)

至于工具...我建议使用Atlassian的Confluence。这是一个很好的Wiki,旨在在企业环境中工作,它具有许多漂亮的功能,可以自定义,并且与Atlassian的其他漂亮的工具很好地集成在一起,并且基本上是一个非常可靠的产品。


软件文档?是一个非常笼统的术语。有"最终用户文档","开发人员文档","质量检查文档"。第一个通常由合格的技术作家开发。其他的可能是由Wiki,源代码的文档注释等动态形成的。所有这些东西的维护过程通常非常复杂,每个软件公司都遵循自己的方式。但是,所有这些方式都有一个必要的要点:每个代码提交者,架构师,经理,质量保证工程师都必须妥善存储每条信息,这可能会对其他信息有所帮助。并且其他人必须密切注意此物品的存放,并在需要时重新排列物品。所有这些步骤极大地改善了与开发过程相关的所有活动。


我开始尝试一种实现这些目标的用户文档的方法:

基于Markdown / Html / Javascript /文件的相对链接的文档,具有移植性(可以在本地文件系统上运行,或者可以将其放在网络服务器上),屏幕截图的内置处理(交互式调整大小)以及开源,以防其他人想用疯狂的事情做些事。

您的文档源是用Markdown编写的,并在浏览器运行时通过Javascript呈现给HTML。

Mandown - http://wittman.org/mandown/


当前,我们使用由外部应用程序(PHP + PhpDocumenter)和各种内部Wiki解析的内联文档。有时充其量是痛苦的(主要是因为只有一个人更新wiki或文档...)

但是,我一直在考虑使用ikiwiki做内部文档。它与您的源代码计数系统(包括Git,Subversion,Mercurial,Bazaar,TLA和Monotone)集成在一起,因此所有文档都将与您的项目一起跟踪。它是用Perl构建的,并具有广泛的插件系统(包括多种标记语言,默认为Markdown)。另外,源代码管理系统是基于插件的,因此,如果不立即支持您使用的内容,则可以添加您自己的内容。如果需要,请使用您喜欢的语言,因为它也支持非perl插件。


假设您是在谈论代码文档还是用户文档,如果您不需要在组织外部将代码的文档分发给承包商或合作伙伴,则内部Wiki非常有用。

如果您想要可分发的代码文档,则Javadoc或DOxygen更适合。

如果您要参考用户文档,则可能需要看一下DITA。


是的,我们使用维基,也使用Google文档。我发现Google文档比我尝试过的大多数Wiki都要好,而且,如果您不需要跟踪所有更改,那么您将一无所获。 Google文档提供了一个良好的协作框架。


我的公司使用各种Sharepoint和Wiki。特定要求(如需求,演示,合同等)的共享点,而Wiki则用作帮助指导开发人员资源库的内部使用库的教程。


推荐阅读

    linux命令补全工具?

    linux命令补全工具?,工具,系统,软件,地址,命令,名称,智能,环境,信息,终端,简

    linux移动文档命令?

    linux移动文档命令?,文件,名称,系统,位置,目录,信息,命令,源文件,目标,文件

    linux命令文档下载?

    linux命令文档下载?,工具,网络,系统,工作,基础,数据,名称,管理,位置,代理,lin

    linux系统命令行工具?

    linux系统命令行工具?,工具,系统,工作,状态,命令,地方,标准,信息,环境,基础,L

    linux命令chm文档?

    linux命令chm文档?,电脑,系统,文件,首页,百度,软件,电机,管理,产品,设备,谁知

    linux中编辑文档命令?

    linux中编辑文档命令?,状态,工作,命令,电脑,信息,第一,系统,编辑,终端,文件,L

    linux命令下载工具?

    linux命令下载工具?,工具,网络,代理,代码,简介,位置,系统,第一,下载工具,文

    linux好用的命令工具?

    linux好用的命令工具?,系统,管理,工具,基础,服务,信息,工作,发行,公司,代码,L

    linux常用命令行工具?

    linux常用命令行工具?,系统,工作,工具,地址,管理,信息,命令,软件,目录,基础,l

    linux命令行专业工具?

    linux命令行专业工具?,工具,系统,工作,信息,服务,环境,基础,命令,管理,发行,l

    linux命令行执行工具?

    linux命令行执行工具?,工具,系统,网络,分析,工作,服务,状态,信息,电脑,发行,s

    linux命令行执行工具?

    linux命令行执行工具?,工具,系统,网络,分析,工作,服务,状态,信息,电脑,发行,s

    linux常用命令文档?

    linux常用命令文档?,工作,系统,地址,管理,网络,命令,信息,目录,操作,文件,lin

    开发linux命令工具?

    开发linux命令工具?,系统,工具,环境,状态,平台,设计,数据,电脑,中小企业,标

    linux使用命令的方法?

    linux使用命令的方法?,系统,信息,工具,标准,数据,命令,左下角,目录,文件夹,

    linux命令行工具大全?

    linux命令行工具大全?,工作,系统,工具,地址,信息,命令,目录,基础,管理,文件,l

    linux打开文档命令?

    linux打开文档命令?,密码,图片,系统,标准,命令,文件,终端,发行,信息,情况,Lin

    linux命令联想工具?

    linux命令联想工具?,地址,工作,系统,工具,状态,标准,信息,命令,目录,左下角,L

    linux进入文档命令?

    linux进入文档命令?,工作,地址,图片,系统,标准,命令,信息,设备,一致,发行,Lin

    linux命令工具怎么用?

    linux命令工具怎么用?,地址,系统,工作,单位,工具,密码,服务,命令,处分,基础,