via: http://code.csdn.net/news/2822503
大多数开源开发人员喜欢思考他们构建软件的质量,但其文档的质量常常被遗忘。没有人谈论一个项目的文档是多么出色,但其实文档对一个项目的成功却有直接的影响。没有一个良好的文档可能用户根本不会使用你的项目,亦或者压根不会喜欢。
然而大多数开源项目的文档都是令人极其失望的,主要从以下的几个方面来体现。
1. 缺乏一个好的自述或介绍
自述是潜在用户对你项目的第一印象。如果项目在 GitHub 上,自述自动的显示在该项目的主页上。如果你稍微不留神将自述弄错了,这些潜在的用户有可能再也不会回来了。所以你的项目必须有一个好的自述来吸引用户对你的项目产生兴趣。
自述文件至少应该包括以下几点说明:
是什么项目
面向何种用户
运行在什么硬件或者平台上
主要依赖关系
如何安装或者深入的方向指针
这些都是写给那些之前从未听说过你的项目甚至可能永远不会考虑你的项目的用户。当然也不要以为每个阅读你自述的用户都知道那是什么,必要的时候需要做出一些注解以及附上一些有用的链接,方便用户了解你的项目。
2. 不提供在线文档
虽然没有看到过关于这方面的研究调查,但我想 90% 的文档都是通过谷歌或者互联网的其他浏览器来查找的。所以文档必须在线并且可用。这一点我是如何发现的呢?因为很多的用户常常会不看常见问题的解答,而直接从网上搜索问题的答案,这常常就会在项目中出现问题。因此提供在线的文档可以帮助用户更好的解决问题。
3. 只有在线文档
这个问题的另一面就是开发人员只提供在线的文档。有些项目不附带该项目可交互的文档,或者包含的文档是不符合的版本。例如 PHP 语言不附带任何文档,如果你想要文档,必须用一个单独的页面来打开他们。然而更糟糕的是,只有核心代码可以下载。这样导致用户可能不能获得对自己有用的信息。
开源项目不能想当然的认为用户访问互联网时他们需要在线的文档。当然你也不希望用户过分的依赖你的项目网站。
4. 不包含安装文档
这个问题通常是包的创造者而不是项目开发者的问题。例如在 Ubuntu Linux 操作系统中,Perl 语言选择的包本身是一个单独的文档。用户必须知道他在安装的时候所需要的安装文档以及核心语言的文档,这样方便用户在遇见问题时及时地解决。
5. 缺乏截图
有没有更好的方式来获取潜在用户的注意,或者说明软件的正确使用方法?比较明智的做法是截图。在互联网时代,一张图也许胜过千言万语。截图能让用户判断自己使用的方法是否正确,也容易让他找到自己出错的地方。因此必要的截图对于开源文档来讲也是至关重要的。
6. 缺乏实例
对于基于代码的项目,模拟的截图固然是非常不错的,但是相关的实例也是必不可少的。这些实例不应该是抽象的,而应该是从现实世界当中提取的。花时间创建一些与项目相关的实例,向用户展示如何解决软件使用过程中出现的问题。
7. 不充分的链接和引用
如果有超链接,记得在文档中使用它们。不要以为用户读完文档就能明白并且理解,文档当中可能会存在一部分用户并不能理解的东西。这时候就需要你使用你所有的超链接以及引用来帮助用户解决一些问题。
8. 忘记新用户
当你写文档时,你是站在开发者自己的角度上来编写的,这对于软件的开发者来说着很容易。然而对于那些新用户来讲,则需要入门文档。为了使新用户能够尽早的了解你的软件或者说熟练掌握使用软件的方法,我认为应该使用单独的页面来为用户书写入门文档。
9. 不倾听用户需求
项目的开发者必须倾听用户对整个项目的需求。最有效的方法就是让更多的人对你的项目进行试用来找出问题。同等重要的是,在倾听用户需求的过程当中,项目开发人员应该考虑到用户提出这些问题背后的真正原因。
10. 不接受用户输入
如果你的项目有一个足够大的用户群,你可以让用户直接将评论添加到文档当中。我见过的最好的例子是 PHP 语言,其文档中的每个页面允许经过身份验证的用户添加评论,或添加的评论不属于核心文档。
相关推荐
最全JAVA学习路线一条龙思维导图(附资源链接)PS:程序员鱼皮 1. 最新,完整一条龙的大厂 ...5. 划分阶段、更有计划,且在最后给出持续学习的方向、探索 Java 程序员发展的无限可能 6. 完全开源,回馈社区,持续更新!
程序员职业的本质首先体现在软件的本质上,它是一系列可以重复执行的命令。程序员通过编码将这些命令告诉机器,使得机器可以执行重复的工作,而无需人类不断参与,这使得程序员能够将注意力转移到下一个未被自动化的...
涵盖252个XML配置文件、106个Java源文件、23个IML项目配置文件、16个YAML文件、12个源代码列表文件、9个属性文件、3个压缩文件、2个原始文件和1个Git忽略文件、1个开源许可证文件,全面支持程序员的技术成长和知识...
开源企业文档管理系统是一种专为企业设计的,以源代码开放为特点的文档管理解决方案。它允许企业根据自身需求对系统进行定制和改进,提供更细致的权限控制,确保信息安全。此系统支持多种常见的文件格式,如PDF、DOC...
②促进技术人员之间关于开源文化的交流,强化分享、协作精神;③鼓励利用技术承载更多的情感和社会责任感。 其他说明:文中提供了详尽的实际操作步骤,附带完整源代码片段,旨在引导读者实践,享受编程乐趣的同时也...
在踏入程序员这一职业路径之初,了解“当程序员的第一件事”对于每位初学者来说至关重要。本文将围绕这个主题展开,深入探讨对于编程新手而言至关重要的基础知识、技能培养以及心态调整等方面的内容。 ### 一、理解...
全球最厉害的程序员:这类程序员通常在技术社区中广为人知,他们可能对编程语言有着深刻的了解,并且在其职业生涯中做出了巨大的贡献,比如编写了经典的编程书籍或开发了影响深远的软件项目。 全球最有钱的程序员:...
《2009年程序员杂志第十二期》是IT领域的一期重要出版物,它包含了当年程序员们关注的热点话题、技术趋势以及专业教程。这期杂志可能涵盖了多个与软件开发、编程语言、项目管理、新兴技术和行业动态相关的文章。由于...
同时,文档也提到了一个有趣的现象,即随着时间的推移,认为程序员年龄上限的门槛在上升,这可能与软件行业的成熟以及对经验丰富程序员的需求增加有关。 其次,在学习与实践方面,文档强调了编程的基本功,包括面向...
整理大牛分享文档如下,一线开发架构,技术文档 网易蜂巢公有容器云架构之路 新浪微博redis优化历程 微博Cache架构设计实践 Go在大数据开发中的经验总结 基于Go构建滴滴核心业务平台的实践 京东分布式K-V存储设计与...
以下是对程序员十层楼(十种境界)的详细介绍和分析: 第1层:菜鸟 在程序员的世界里,菜鸟是指刚入行的初级开发者。他们可能具备基础的编程技能,了解一种或多种编程语言,如C/C++、Java或JavaScript。菜鸟需要...
"Java程序员由菜鸟到笨鸟学习文档"就是这样一个旨在帮助初入Java世界的学习者逐步进阶的资源。它覆盖了从Java语言的基础知识到Web开发框架的关键概念,为读者提供了一个全面的学习路径。 首先,对于Java的基础部分...
**开源OPC:LightOPC源码解析** 在IT领域,OPC(OLE for Process Control)是一种用于工业自动化系统中不同设备间数据交换的标准接口。它允许不同的软件应用程序通过统一的接口进行通信,极大地简化了数据共享和...
3. 开源:开源软件意味着源代码公开,允许用户查看、修改和分发代码。常见的开源许可证有MIT、Apache 2.0等,这些都可能在系统中涉及。 4. 文档管理:系统应包含文档的创建、编辑、版本控制、权限管理、分类和搜索...
iutils网站 程序员工具网站全站代码开源
10. **生活与工作平衡**:程序员的工作压力和生活品质问题也受到关注,文章可能提供了关于健康、时间管理和心理调适的建议。 通过深入阅读《程序员05年11月PDF》,不仅能了解到15年前的IT世界,还能对比现在的发展...
### 程序员的十个层次:从菜鸟到牛人的成长之路 #### 第1层:菜鸟 菜鸟作为程序员生涯的起点,门槛较低。这一阶段的程序员通常具备基本的计算机操作能力,了解一定的计算机专业知识,并能掌握至少一种编程语言(如...
【金山开源源代码详解】 金山开源源代码是金山软件公司对外公开的部分软件源代码,旨在促进技术交流与合作,推动技术创新。开源意味着开发者可以查看、使用、修改和分发这些代码,遵循特定的开源许可协议。金山软件...