`

关于开源文档:程序员可能忽略的十件事

 
阅读更多

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:程序员鱼皮

    最全JAVA学习路线一条龙思维导图(附资源链接)PS:程序员鱼皮 1. 最新,完整一条龙的大厂 ...5. 划分阶段、更有计划,且在最后给出持续学习的方向、探索 Java 程序员发展的无限可能 6. 完全开源,回馈社区,持续更新!

    职业经营 1:程序员职业的本质(3).md

    程序员职业的本质首先体现在软件的本质上,它是一系列可以重复执行的命令。程序员通过编码将这些命令告诉机器,使得机器可以执行重复的工作,而无需人类不断参与,这使得程序员能够将注意力转移到下一个未被自动化的...

    当程序员的第一件事!!初学者看过来

    在踏入程序员这一职业路径之初,了解“当程序员的第一件事”对于每位初学者来说至关重要。本文将围绕这个主题展开,深入探讨对于编程新手而言至关重要的基础知识、技能培养以及心态调整等方面的内容。 ### 一、理解...

    2009年程序员杂志第十二期

    《2009年程序员杂志第十二期》是IT领域的一期重要出版物,它包含了当年程序员们关注的热点话题、技术趋势以及专业教程。这期杂志可能涵盖了多个与软件开发、编程语言、项目管理、新兴技术和行业动态相关的文章。由于...

    开源的 GPT 神器 今天我给大家推荐两款基于 GPT 开源的程序员效率神器

    标题中的“开源的 GPT 神器”指的是在编程领域中,利用GPT(Generative Pre-trained Transformer)技术开发的、可供程序员使用的开源工具。GPT是一种基于Transformer架构的深度学习模型,由OpenAI公司首次推出,它能...

    MFC程序员的WTL指南

    接着,描述中提到了网上关于WTL的讨论组和邮件列表,虽然WTL缺乏官方文档支持,但这些问题和疑惑在全球的开发社区中能够得到解答。这意味着,尽管WTL没有MSDN等官方文档,但实际使用中遇到的问题并不难找到解决方案...

    cxyxm:程序员小妹论坛的开源代码

    程序员小妹是一个目前已经上线的论坛的源代码。 ##简介程序员小妹主要使用Spring Boot,Spring Security,Spring JPA开发成型。项目组装工具为Gradle,国内的小伙伴在使用的时候,记得配置过多,不然仅下载依赖就...

    Java程序员由菜鸟到笨鸟学习文档

    "Java程序员由菜鸟到笨鸟学习文档"就是这样一个旨在帮助初入Java世界的学习者逐步进阶的资源。它覆盖了从Java语言的基础知识到Web开发框架的关键概念,为读者提供了一个全面的学习路径。 首先,对于Java的基础部分...

    开源opc:lightOPC源码

    **开源OPC:LightOPC源码解析** 在IT领域,OPC(OLE for Process Control)是一种用于工业自动化系统中不同设备间数据交换的标准接口。它允许不同的软件应用程序通过统一的接口进行通信,极大地简化了数据共享和...

    iutils-site:程序员工具网站全站代码开源

    iutils网站 程序员工具网站全站代码开源

    程序员05年11月PDF

    10. **生活与工作平衡**:程序员的工作压力和生活品质问题也受到关注,文章可能提供了关于健康、时间管理和心理调适的建议。 通过深入阅读《程序员05年11月PDF》,不仅能了解到15年前的IT世界,还能对比现在的发展...

    程序员的十个层次 你属于哪一层?

    ### 程序员的十个层次:从菜鸟到牛人的成长之路 #### 第1层:菜鸟 菜鸟作为程序员生涯的起点,门槛较低。这一阶段的程序员通常具备基本的计算机操作能力,了解一定的计算机专业知识,并能掌握至少一种编程语言(如...

    金山开源源代码 金山开源源代码

    【金山开源源代码详解】 金山开源源代码是金山软件公司对外公开的部分软件源代码,旨在促进技术交流与合作,推动技术创新。开源意味着开发者可以查看、使用、修改和分发这些代码,遵循特定的开源许可协议。金山软件...

    程序员鼓励师的编辑器插件

    - `QNA.md`:可能是常见问题与解答的Markdown文档,帮助用户解决使用过程中遇到的问题。 - `README.md`:提供了关于插件的详细说明、安装指南和使用方法。 - `resources.zip`:可能包含插件所需的资源文件,如...

    程序员十层境界(很经典)

    ### 程序员十层境界详解 #### 第一境界:初学者 在这个阶段,程序员刚刚踏入编程领域,对各种编程语言如C/C++、Java、JavaScript等有初步的了解。这一阶段的重点在于掌握基本的语法和编程逻辑,能够编写简单的程序...

    z-blog-wx:博客微信小程序版本(微信搜索:程序员技术之旅)

    微信小程序开源地址: Web端项目开源地址: 管理系统开源地址: 扫码体验 版本信息 v1.2.0(2020/02/11) 使用Parser替换wxParser渲染富文本 添加标签详情页 调整p标签下的code标签颜色和背景 添加文章缓存 搜索页触底...

    简历模板程序员简历

    开源项目或对社区有贡献的项目特别能体现程序员的主动性和协作精神。 7. **技能证书**:如有相关认证(如Oracle Certified Professional、Microsoft Certified: Azure Developer Associate等),可在简历中列出,...

Global site tag (gtag.js) - Google Analytics