定义RTFM (请阅读F'ing手册 )。 有时,讽刺的是,它被翻译成“ 阅读精美手册” ,这是对那些提出以下问题的人说的:开明的人认为我们是在有尊严地回答下,而不是在我们有尊严的情况下,作为挤压新手自我的机会。

您是否注意到某个特定的开放源码社区告诉您RTFM的频率越高,则FM可能越差? 我多年来一直在考虑这一点,并得出结论,这是因为耐心和同理心是良好文档记录的基础,就像它们是成为一个正派人的基础一样。

首先,一些免责声明。

尽管我从事开源文档工作已有近20年的时间,但我没有经过实际的培训。 有一些人在做,还有一些很棒的书,如果您关心这些东西,就应该阅读。

首先,我推荐Anne Gentle的《 对话与社区》 。 而且,如果您正在寻找有关此内容的会议,那么我建议您有两个: Write Docs和OpenHelp 。

这篇文章的标题来自凯西·塞拉 ( Kathy Sierra) ,他在几年前的一次演讲中有一张幻灯片说 :“如果您想让他们使用RTFM,请做一个更好的FM。” 但是我们该怎么做呢?

开源世界有一个共同的智慧:每个人都知道文档太糟糕了,没有人愿意编写它,而事实就是如此。 但事实是,有很多人想要编写文档。 我们只是让他们难以参与。 因此,他们在Stack Overflow,他们的博客和第三方论坛上写文章。 尽管这可能很好,但这也是最坏实践的解决方案蓬勃发展并获得动力的好方法。 拥抱这些人并将其作为项目的正式文档工作的一部分,具有许多优势。

与写作小说不同,在小说写作中,流行的建议只是开始写作 ,而对于技术写作,则需要进行一些计划。 在开始之前,您应该问几个问题。

WHO?

这些中的第一个是谁? 。 你在写信给谁? 一些专业的技术作家会创建角色,以便他们在写作时可以自己思考:“在这种情况下,莫妮卡需要了解什么?” 或“ Marcus可能围绕该主题遇到什么样的问题?” 然后相应地写。

在此过程的这一点上,记住并非所有听众都由年轻,白人,说英语的人组成,他们长大后观看Monty Python是至关重要的。

附件A:Python文档

Python文档充满了Monty Python参考资料:


现在,请不要误解我:Python文档在大多数情况下都很棒。 但是我有一个抱怨–内部笑话。 Monty Python的幽默贯穿了所有文档,这是一把双刃剑。 内在的笑话会形成一种社区感,因为您开玩笑,因此您处于内心。 除非您不在。 在这种情况下,内在的笑话会明显地表明您不在内心。 在这里仔细踩一下。 考虑包括一个解释笑话的参考指南,如果鹦鹉死了,请指向YouTube视频 :

口语化也是如此。

附件B: PHP文档

在PHP docs的此示例中 ,引用了英语谚语: 在大海捞针中寻找针头,以使该示例更易于理解。 如果您以英语为母语,那么该示例就很好,因为它使哪个参数是哪个显而易见。 但是,对于不是英语为母语的读者,该示例指出他们不是目标受众,这可能会对吸引新人进入您的社区产生寒蝉效应。

哪里?

下一个要问的问题是在哪里? 。 是的,您需要在您的项目网站上有文档,但是对话还在哪里进行? 除极少数情况外,其他站点(例如StackOverflow )都是项目的事实上的文档。 而且,如果您真正希望为用户提供帮助,则需要去他们所处的位置。 如果他们在Twitter,Facebook或AOL上提问,则需要去那里,在那里回答他们的问题,并为他们提供指向官方文档的指针,以便他们下次知道在哪里看。

您无法控制人们在哪里进行对话,而尝试进行对话将被视为与您的听众脱节。 (尽管我是这个话题,但无论如何,他们不是您的听众。)

有一次,当我为一位前雇主工作时,我们发现听众在Facebook上而不是在我们的网站上进行对话。 那些当权者决定我们必须停止这一点,然后我们建立了自己的内部社交网站。 然后我们告诉所有人,在讨论我们的组织时,他们必须使用它而不是Facebook。 我怀疑您能猜出对我们有多好。

但是,当您忽略StackOverflow,Twitter和各种第三方网站上的受众时,您会做同样的事情,因为它们的位置不正确。

什么?

继续讲力学。 你应该写什么?

范围

您必须决定的第一件事(是的,您需要决定这一点,因为不一定有一个正确的答案)是您的文档范围。 那就是:您愿意涵盖哪些主题? 当然,这意味着其他所有内容都超出范围,应该将其推送到其他人的文档中。

例如,在Apache Web Server文档中,我们有一个名为Getting Started的文档,该文档介绍了开始之前需要了解的内容。 本文档的目的是画一条线,说明超出本文档范围的内容,同时还使人们了解实际上涵盖了这些内容的资源。 因此,HTTP规范,DNS的内部工作原理和内容(例如HTML和CSS)绝对不在文档范围内,但是使用Apache Web Server的每个人都需要了解这些内容。

文件类型

一旦确定了范围以及要写给谁,就可以为它们编写几种不同类型的文档。 Anne Gentle将它们归类为:

从这里开始

就像我之前提到的《 入门指南》文档一样,在这里您可以告诉用户在开始使用之前需要了解的内容。

参考指南

参考指南是全面的,通常很干燥。 在这里定义术语,解释功能的输入和输出,并给出示例。 语气是事实,而且要切合实际。 没有太多的讨论或对话 。 声音通常是非个人的。

讲解

教程会牵着你的手,引领你走下这条路。 他们向您展示了每个步骤,并偶尔坐在小路旁的长椅上,解释特定步骤的原理。 他们之间的对话非常热烈,有时甚至是ty不休。 声音是个人的; 您正在与先前的角色阶段中定义的特定人员讲话。

学习/理解

学习/理解文档通常与教程相关,因此会进行更深入的研究。 他们调查特定事物的原因和方式。 为什么要做出某个决定? 它是如何在代码中实现的? 这个东西的未来会是什么样? 您将如何帮助创造未来? 这些文档有时最好作为博客文章而不是作为正式文档的一部分,因为它们可能会严重分散试图解决问题的人们的注意力。

食谱/食谱

烹饪书通常是O'Reilly技术书目录中最畅销的部分,这是有原因的。 人们需要解决方案,现在就需要解决方案。 文档的食谱或食谱部分应为常见问题提供剪切和粘贴的最佳实践解决方案。 他们应该附有解释,但是您应该了解,大多数菜谱用户都会剪切并粘贴解决方案,这对他们来说将是最终的结果。

您的大部分观众只关心解决他们的迫在眉睫的问题,因为这就是他们获得报酬的全部,并且您需要了解这是完全合法的需求。 当您组装新的宜家书桌时,您不必担心为什么选择了特定的螺钉尺寸,而只需要这些说明,就可以期望它们起作用。

因此,对示例进行测试至关重要。 不管示例多么琐碎,您都必须对其进行测试并确保它可以完成预期的工作。 花了许多令人沮丧的时间来试图弄清楚为什么文档中的示例不起作用,而几分钟的测试就会发现冒号应该是分号。

食谱还应促进最佳实践,而不仅仅是最简单或最快的解决方案。 永远不要告诉他们怎么这样做,因为他们只会剪切和粘贴,然后在比当他们开始更糟糕的修复。

我最喜欢的网站之一是“ 我修复了它” ,它展示了解决问题的人的独创性,而他们并未过多考虑解决方案的可能后果,他们只是想解决问题。

错误讯息

是的,错误消息也是文档。 实际指向解决方案的有用错误消息可节省数小时的搜寻和挫败感。

考虑以下两个错误消息:

`ERROR. FORBIDDEN`

`Access forbidden by file permissions. (ERRNO 03425)`

首先是令人震惊,但无济于事,将需要大量研究以找出为什么禁止这样做。 第二种方法告诉您它与文件权限有关,并且具有错误号的额外好处,您可以在Google上找到许多详细介绍如何解决此问题的文章。

哲学

整个思路源自多年的技术支持渠道,包括IRC,电子邮件,正式文档,Usenet等。 那些掌握答案的人,我们似乎想让新来的人很难受。 毕竟,我们在雪地里上山步行去学校,然后赤着脚回来,还记得吗? 我们通过阅读代码和试验来弄清楚如何使事情正常进行。 我们为什么要让这些孩子更轻松呢? 他们应该像我们一样被迫赚钱 ,对吧?

技术世界每天都变得越来越复杂。 人们期望知道的事情清单在不断增长,没有人可以成为一切专家。 期望每个人都完成所有功课并提出明智的问题不仅是不合理的,而且变得不可能了。

丰富的技术支持以及更好的文档资料是人们有效使用软件的唯一途径。 而且,如果他们不能在合理的时间内获得答案,他们将使用另一种解决方案,该解决方案具有更好的准入门槛。

在他的Perl编程Perl书籍的第一版中,Perl编程语言的创建者和那个社区的父亲Larry Wall开玩笑说程序员的三个美德:懒惰,不耐烦和傲慢:

关于这个笑话的解释值得一读 ,但是请记住,这些是程序员的美德,就其作为程序员而言,与计算机有关。 拉里(Larry)在1999年出版的《 开源:开源革命的声音》一书中解释说,作为一个与他人相关的人,我们应该追求的三个美德是:勤奋,耐心和谦卑。

当我们在帮助有技术问题的人时,急躁被视为傲慢。 “我的时间比你的问题更重要。” 傲慢被认为是轻浮的。 和懒惰? 好吧,那只是懒惰。

耐心和友善,帮助人们以自己的步调(即使感觉很慢)也被视为尊重。 无论您身在何处,都欢迎他们,并耐心地帮助他们迈向新的高度,这是您建立社区的方式。

不要让人们感到愚蠢:这必须是一个核心目标。

即使世界上其他所有人都是混蛋,您也不必如此。

文件

本文是Rikki Endsley协调的Doc Dish专栏的一部分。 要撰写本专栏文章,请提交您的故事创意或通过open@opensource.com与我们联系。

翻译自: https://opensource.com/business/15/5/write-better-docs

RTFM? 如何写一本值得一读的手册相关推荐

  1. 值得一读的《框架设计(第2版):CLR Via C#》

    知道这本书已经很早了,因为很早就听别人介绍过,说这是一本不错的计算机书籍,因为这本书的作者很牛,作者Jeffrey Richter不但是知名技术作家(如果不是因为工作关系,真想这次去北京和这位心目中的 ...

  2. 学习编程时真正值得一读的一篇文章 与 书籍

    Teach Yourself Programming in Ten Years 彼得·诺维格(Peter Norvig)是美国计算机科学家.他是Google,LLC的研究总监,并曾担任Google搜索 ...

  3. 这几本豆瓣高分前端好书,值得一读!

    当你准备学习前端的时候,首先会想先搜搜有什么学习资料可以利用.琳琅满目的视频课程让你挑花了眼,于是你开始烦躁不已,想找一本书安静地学习.一本好书总是会让你在学习的过程中有很多 Aha!Moment,还 ...

  4. 哪些技术好书值得一读再读?阿里大牛列了一份经典书单

    喜爱读书,就等于把生活中寂寞无聊的时光换成巨大享受的时刻.有了书,各个领域的智慧,几乎触手可及.我们能有幸站在前辈.巨人的肩膀上,看更远的风景. 4月23日世界读书日,阿里九位技术大牛为你推荐好书,与 ...

  5. 值得一读的品牌类好书

    俗话说得好,泛读百本不如精读十本.搜集优秀书单时,发现了 崔洪波 写的一篇关于品牌类书单推荐,先搬过来,供品牌咨询人.品牌营销人士阅读. 在 我和正见品牌顾问的伙伴们看来,品牌咨询面临的是一个无时无刻 ...

  6. 转贴: HP总裁离职15天后感言(据传是孙振耀退休后所写,值得一读)

    转贴: HP总裁离职15天后感言(据传是孙振耀退休后所写,值得一读) HP大中华区总裁孙振耀 退休十五天后九大感言 一.关于工作与生活 我有个有趣的观察,外企公司多的是25-35岁的白领,40岁以上的 ...

  7. 推荐十本值得一读的AI书籍(留言送书)

    下一次技术革命会是什么? 刘润在2022年<进化的力量>演讲中的回答是: "很可能是第五要素,人工智能驾驭的数据." 毫无疑问,人工智能技术的应用与落地已经是未来发展的 ...

  8. 专访肖佳:写一本技术图书是水到渠成的

    参与文末话题讨论,每日赠送异步图书 --异步小编 肖佳, VMware高级测工程师,博客园著名博主(网名小坦克),撰写了很多软件开发和测试方面的技术文章:有10多年的软件开发测试经验,有丰富的手动测试 ...

  9. 值得一读的10本人工智能技术书籍!

    值得一读的10本人工智能技术书籍! 人工智能大潮来了.AlphaGo击败围棋大师李世石后,人工智能的应用仿佛一夜之间遍地开花.在科技潮流的大环境中,现在硅谷的用人单位越来越倾向于雇用既懂理论(思考者) ...

最新文章

  1. java 规范异常的处理_规范-异常处理
  2. IAR编译的工程无法正常仿真的问题
  3. Web开发兼容性系列文章(一):不同设备浏览器的userAgent值大全
  4. Boostrap技能点整理之【bootstrap简介】
  5. 研讨会 | CCF TF 第 17 期:认知计算产业化落地
  6. NLP 《马尔科夫链》
  7. disruptor RingBuffer初始化与生产者事件产生
  8. springmvc 全局编码_SpringMVC请求参数和响应结果全局加密和解密
  9. 查看xenapp 6.5 LIC版本
  10. t-SNE算法解析与简单代码实现
  11. Python-GeoPandas地图、专题地图绘制
  12. 【一文读懂】Contours Hierarchy ——opencv边界的继承结构,表格的提取,表格孔洞处理,空心形状结构的提取
  13. SQL——汇总分组排序
  14. 华为充电的效果_华为充电特效主题插件下载-华为炫酷充电特效插件1.0.1安卓版-精品下载...
  15. H5微信分享自定义标题和图片的实现及遇到的各种坑
  16. 如何用Python网络爬虫爬取网易云音乐歌词
  17. 基于矩阵分解模型的协同过滤理论概述(涉及到SVD,SVD++,TimeSVD++)
  18. 北航计算机刘强,刘强 LIU Qiang
  19. 服务器虚拟化和网络虚拟化关系,数据中心网络如何应对服务器虚拟化?
  20. 学习Android系统

热门文章

  1. scrapy使用crawlspider
  2. mipi 调试经验【转】
  3. SAP “麻辣三人行”小厨房|用黑科技“烹制”HR数字料理
  4. Codeforces 847H - Load Testing
  5. Windows系统下查看某一进程下所有线程的dos命令
  6. 不定长数组取值交叉遍历组合生成算法
  7. 云计算---openstack基础构架以及服务方式详解
  8. 80 多个 Linux 系统管理员必备的监控工具
  9. iOS小技巧---改变uisearchbar中的cancel按钮的文字、取消clearButton
  10. 最新版 Enterprise Library 企业库 V4.1 中文学习手册