如何编写技术文档

最近在公司内部审查,我想不是我们中国软件行业的个别问题,相反,存在一定的普遍性。以下我列出了几个值得提高的地方。

1) 文档的格式上存在不一致性的问题。格式有时是这样,有时是那样。一篇好的文档我想不光是内容写得好,其格式是很重要的一部分。试想,如果我们拿到了一篇格 式上写得乱七八糟的文档,这一第一印象会影响我们的阅读心情吗?好的文档应当是从头到尾保持格式的一致性,这不仅仅是一种美,更是专业性的一种表现。

2) 写文档的作者不能很好的站在读者的角度去思考。要写出一篇好的支持文档,作者应当站在读者的角度上去写。这简单的一句话,要操作起来,将其做好,还真不是 一件容易的事。在写文档时,如果不站在读者的角度去思考,很容易写出一篇“自己一看觉得清清楚楚,别人一看却糊里糊涂”的文档。

3) 文档求长不求精。一说到写文档,我不知是否有人将“文档应当长”当作是文档的必要属性。对于这一点,我想正确的态度是:求精不求长。一篇好的文档,应当写 得简练易懂。写文档的目的是什么?是为了让别人明白我们所要说明的问题,要说明问题,并不需要一定将其写得长。一篇精炼的文档也意味着效率,即读者花很少 的时间就明白我们想要表达的问题是什么。当然,从作者的角度来看,要写一篇精炼的文档,那得花更多的时间去斟酌。

4)图太少。有图不是一篇好文档的必要条件,但在不少情况下,用一幅图能很好的表达我们的思想,不是有那么一句话吗“好图胜过千言万语”,适当的采用一些图,一方面能为文档增色,另一方面也能更好的向读者传达我们的意图。

好了,值得提高的点也提出来了,如何去做好呢?我想下面是我所能想到的一些方法,在此,将与上面的提高点一一对应进行阐述。

1)对于格式问题,找一篇自己觉得格式不错的文档进行模仿,并将其做成一个模板,每次写作时以这一模板为基础。

2)
写完以后,假设自己是读者多次阅读自己的文档。这一点要做好还是很难的,因为,我们很难完全站在读者的角度去读自己写的文档,我们不知道自己所知的哪些东
西是读者所不知的,即很难界定与读者知识不对称的分界点。为了提高这一点,我想我们写文档时,应当多问自己一些问题,比如,读者具有与我一样的知识和经验
吗?如果没有,我应当写哪些以弥补这种信息的不对称性呢?我写的这篇文档是基于一定的假设吗?如果是,是否应当将这一假设在文档中交代清楚呢?我所写的内
容是否都在支持文档的主题呢?是否存在正交问题(即答非所问的问题)?等等。

3)在文档写完后多问一问自己,这篇文档还能写得更简单吗?是否可以将一些文字省去并用一幅图取而代之以达到使其简练的目的呢?不防时刻对自己说,简单也是一种美!

4)
学习(并精通)一些行业所需的图形语言和工具,并加以运用。比如,我们软件行业的UML就是很好的一种表达语言,且随着UML的发展,其表达能力更加的强
大。目前,业内有很我UML的工具,找一个不错的就行了,比如Visual
Paradigm的UML工具就不错,工具其实只是一种工具,关键是掌握UML。只有我们很好的掌握一种图形语言,我们才有可能随时加以运用,从而为我们
的技术文档服务。当然,像Microsoft的Viso也是不错的绘图工具,这要看我们想表达的是什么,从而加以灵活运用各种工具。


此就好了吗?不,还有很重要的一点是:我们需要在思想上做一些改变,这种改变是什么呢?那就是:写出一篇好的技术文档是一个专业软件工程师的必要素养!我
们必须抛弃那种软件工程师只要能写出漂亮的代码就行了的思想,而是要将“写好每一篇技术文档是专业软件工程师的必要素养”这一句话深入到我们的骨髓当中
去,只有这样,我们所写的技术文档才会越来越好、才会越来越专业。

时间: 2024-08-10 23:16:17

如何编写技术文档的相关文章

程序员编写技术文档的新手指南

这是一篇帮助你给第一个项目写文档的指南. 万事开头难,我希望这份指南能把你引导到正确的道路上. 最后,你应该有一个可以公开发布的项目. 请轻松地阅读完这篇文章,或者简单地把它当作参考. 为什么要写文档? 你将会在 6 个月后使用你的代码 我发现一开始从利己的角度来解释这个问题会比较有吸引力.写文档最好的理由就是你将会在 6 个月后使用你的代码.你 6 个月前写的代码跟别人写的代码对你来说通常没有什么区别.你将会带着一种熟悉的感觉读你的代码.然后一种不良的预兆悄悄逼近,你发现写代码的人毫无经验,毫

程序员如何编写好开发技术文档 如何编写优质的API文档工作

编写技术文档,是令众多开发者望而生畏的任务之一.它本身是一件费时费力才能做好的工作.可是大多数时候,人们却总是想抄抄捷径,这样做的结果往往非常令人遗憾的,因为优质的技术文档是决定你的项目是否引人关注的重要因素.无论开源产品或面向开发者的产品,均是如此. 实际上,我想说明的是:对于面向开发者的产品来说,其用户体验中最重要的一环并不是什么主页设计.登录过程.或者SDK下载.真正最重要的是产品的API文档!如果没人知道你的产品如何使用,纵使它巧夺天工,又有何用? 如果你是一个专门从事面向开发者产品设计

【技术文档】SFramework+黎明之刃 技术文档

黎明之刃 游戏框架 SFramework 不限于3D-ARPG游戏的万能框架 Unity-Framework 独立设计开发的原创游戏框架,持续更新中 控制游戏生命周期,框架尽量不继承Monobehavior 基于单例模式,外观模式,桥接模式等设计模式 可使用PhysX物理引擎,动画帧事件等基于Monobehavior的功能 代码追求精简高效,核心代码仅5000+行 目前游戏仍在开发中,暂未开源,而文档中的一些细节部分也并未放出 如果你想要知道代码的更多细节,请联系我们制作组,群398740933

showdoc 开源在线api&&技术文档管理工具

showdoc 是一个很不错的api 以及技术文档管理工具 环境准备 doker-copose 文件 version: "3" services: doc: image: registry.docker-cn.com/star7th/showdoc volumes: - "./showdoc_data/html:/var/www/html/" ports: - "8080:80" 启动&&配置 启动 docker-compose

开源进销存PSI - 技术文档目录

开源进销存PSI技术文档目录 1.本地环境搭建 2.总体技术架构 PSI概要设计文档在这里

d3js技术文档

D3js技术文档 概述 D3 allows you to bind arbitrary data to a Document Object Model (DOM), and then apply data-driven transformations to the document. For example, you can use D3 to generate an HTML table from an array of numbers. Or, use the same data to cr

OCR识别技术文档识别怎么用

OCR识别技术文档识别的概括 我们常说的OCR.文字识别.OCR识别技术文档识别是指通过电子设备等将纸质上的文字识别出来,形成可编辑的文字. OCR识别技术文档识别的流程 随着扫描仪的普及与广泛应用,再加上摄像头迅速发展的手机等智能终端设备的应用,OCR识别技术文档识别软件越来越被应用于各种业务系统中. 常规的OCR文字识别处理的过程包括: 1.图像输入.预处理:二值化图片.噪声去除.倾斜较正: 2.版面分析:把页面分为横排文本.竖排文本.表格.图片等不同区域,帮助字符切割.识别OCR: 3.设

Atitit usrQBK1600 技术文档的规范标准化解决方案

1.1. Keyword关键词..展关键词,横向拓展比较,纵向抽象细化拓展知识点1 1.2. 标题必须有高大上词汇,参考文章排行榜,1 1.3. 标题带语言关键词c#.net js javascript  c++ python1 1.4. 标题最好有英文版本的,方便英文查询1 1.5. 标题atitit前缀,attilax总结结尾方便查询1 1.6. 标题后面带上版本号v2 qbf等,方便时间对比1 1.7. 正文要求 修辞好(引用典故名句,成语 等,使用修辞方法)2 1.8. 引用寓言故事 类

Xamarin技术文档------VS多平台开发

此技术业余时间研究,仅供大家学习参考,不涉及深入研究,有一定开发基础的人员,应该都能较快上手. 一.简介 Xamarin始创于2011年,旨在使移动开发变得难以置信地迅捷和简单.Xamarin的产品简化了针对多种平台的应用开发,包括iOS.Android.Windows Phone和Mac App.Xamarin由许多著名的开源社区开发者创立和参与,而且也是Mono项目的主导者--C#与.NET框架的开源.跨平台实现. 作为一个跨平台开发框架,Xamarin.Mobile有很多优点.在这一框架内