浅谈作为程序员如何写好文档:结构化写作

news2024/11/27 15:43:42

我作为从一名懵懂的实习生转变为工程师的工作经历中,伴随着技术经验的成长,也逐渐意识到了编写文档是知识和经验传递给其他人的最有效方式。通过文档,可以分享我的技术知识和最佳实践,使其他人更好地理解我的工作。在这里,给大家浅谈一下作为技术研发如何写好技术文档😄

目录

    • 什么是结构化写作?
    • 为什么要结构化写作?
    • 如何进行结构化写作?
      • 1. 搭建文档框架
      • 2. 填充必要信息
      • 3. 巧用结构化呈现文档内容
    • 总结

什么是结构化写作?

文档的框架是一篇文档的主心骨,所有的内容都要围绕着这个主心骨所展开,包括标题。运用结构化写作,可以帮助文档搭建一个有逻辑、有条理的框架。这个框架是文档各个部分之间的相互搭配方式,它所反映的是作者写作时的思考路径。

任何事物都有其结构,文档也不例外。

结构是指事物各个组成要素之间的排列,文档中的结构便是指文档中各个信息块的排列。

而结构化写作是指:

  • 有意识地理清信息之间的逻辑关系
  • 把无序的信息排列为有序的信息
  • 创造有逻辑且顺畅的信息流
  • 有逻辑,有条理地提炼和组织信息

结构化写作核心:先框架,后细节。先整体,再局部。

为什么要结构化写作?

答:有利于双方清晰思考。

  • 首先,可以帮助作者理清写作思路:
    • 帮助作者找出信息之间的关联,并有逻辑的呈现,可以帮助作者在清晰分类的基础上全面考虑问题,找到写作的方向和重点。
  • 其次,可以为读者降低阅读成本:
    • 通过简明扼要的信息呈现方式,可以帮助读者快速锁定目标信息,在最短的时间内看清行文结构,获取重点信息和核心观点。

如何进行结构化写作?

1. 搭建文档框架

搭建文档框架,自然应该使用结构化的框架思维。结构化写作的本质就是一种框架思维:

  • 结论先行:开门见山,把核心观点或中心思想放在文档开头的位置,让读者一目了然。
    不同于制造悬念吸引读者的小说文体,技术文档写作是为了高效地传递信息,结论先行可以帮助读者快速抓住文档的核心观点。
  • 以上统下:以上统下是指上层结论是概括总结,然后再通过下层信息进行具体的解释和说明。
    以上统下的原则可以让我们的文档更有理有据,让内容更具有说服力和支撑力。
  • 归类分组:是指把相关联的信息按照一定的标准进行划分,归类归为同一个逻辑范畴。
    在分类的过程中可以探寻事物和问题本质,让原本模糊混乱的信息变得有秩序,便于读者获取和记忆。
  • 逻辑递进:按照逻辑顺序递进排列信息。
    梳理信息之间的逻辑,可以反映出事物之间的内在联系和规律。

结合一个实际的例子:需要要写一篇应用上线某应用商店的文档,如何给自己的文档搭框架:

  1. 首先,依据结论先行的原则,我们要明确主题,即应用上线某商店,我们将这个主题写在中心位置。在这里插入图片描述

  2. 依据逻辑递进的原则,我们要考虑这个任务按常理会是怎样一条逻辑递进的原则。既然涉及应用上线,大致可以想到:

    • 上线必须满足的必要条
    • 上线过程中可能遇到潜在卡点
    • 如何解决这些卡点问题
      在这里插入图片描述

    最后依据以上统下的原则,我们要用下层的信息进一步解释上层的信息:即哪些是必要条件,潜在卡点又有哪些以及可行的解决方案是什么:在这里插入图片描述
    依据这个框架思维,我们就完成了结构化写作的第一步,搭建文档框架。

2. 填充必要信息

信息的收集在数量上要完整全面,在质量上要深入有层次。
我们的信息来源可以是:

  • 阅读相关文档
  • 使用相关产品
  • 咨询行业内的专家

当文档有了初步框架后,可以沿着这个基础框架填充细节信息,让文档的内容更加全面、更加细致。
回到刚刚的例子,依然可以对文档的框架使用以上统下的原则对每一个小点进行进一步的解释说明
在这里插入图片描述
至此,我们成功打好了一个文档的基础框架。

3. 巧用结构化呈现文档内容

结构化思维不仅仅体现在搭框架的过程中,它同时也可以落实到文字的呈现格式上。
这里向大家介绍 3 种最常见也是最实用的结构化呈现方式,这些呈现方式体现了归类分组的思维:

  • 无序列表:没有特定的顺序的列表,各个列表项之间属于并列关系
  • 有序列表:强调排列顺序的列表,各个列表项之间属于先后关系。
  • 表格:一种可视化交流模式,也是一种组织整理内容的手段,主要用来罗列和对比信息。

回到之前的例子,当这些结构化呈现方式从搭好的框架落实到文档之后,文档会产生什么样的变化:

在这里插入图片描述

在这里插入图片描述

可以看到两篇文档的字数大致相同,但因为使用了结构化呈现方式,文档变得更加清晰精炼了。
我们可以通过扫读获取非常多的信息。但是在结构化前,大量的重要信息被淹没在了大段的文字中。读者必须通过逐字逐句地仔细阅读才能获取重要信息,其主要原因还是没有将同类信息进行分类,导致信息杂糅在一起。

总结

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/528973.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

图解 SQL 执行顺序,清晰明了

这是一条标准的查询语句: 这是我们实际上SQL执行顺序: 我们先执行from,join来确定表之间的连接关系,得到初步的数据 where对数据进行普通的初步的筛选 group by 分组 各组分别执行having中的普通筛选或者聚合函数筛选。 然后把再根据我们要的数据进行…

alias设置快捷键vim使用说明(解决服务器上输入长指令太麻烦的问题)

1. vi ~/.bashrc打开 2. (watch -n 1 gpustat 查看gpu使用情况 太麻烦)输入i进行编辑,最后一行输入 alias watchgpuwatch -n 1 gpustat alias gpuwatch -n 1 gpustat alias torch180source activate torch180 3. 按esc,然后输入:wq保存退出 4. source…

多轴加工-可变轴轮廓铣_刀轴控制策略

可变轴轮廓铣_刀轴 刀轴是可变轴轮廓铣最重要的核心参数之一,控制好刀轴对生成的刀路质量至关重要。UG NX可变轴轮廓铣提供了非常丰富的刀轴控制方法,常用的包括远离/朝向直线(点)、相对于/垂直于驱动体、侧刃驱动体、插补等&…

在Apex中获取Site URL

Foreword 目前SF暂未提供直接有效的方法在Apex获取SiteURL,我们可以在Idea (Access URL for a Site or Community from Apex)页面投票,除了下面提供的一种hack思路,当然也可以通过Custom Label手动维护。 Format of Site URL Sandbox site …

如何搭建自己的写作素材库,快来学,方法高效简单

我们平时看过的书,做过的事,不及时记下来,很可能过几天就忘记了。由此看来,搭建自己的写作素材库非常有必要。尤其是写作者,写稿的速度取决于自己写作素材的储备量,你储备的素材越多,写作时便可…

【算法学习系列】01 - 求某个数组中的任意两个位置之间的累加和

文章目录 背景解决思路代码实现 背景 已经呆在自己的舒适圈有很长一段时间了(公司快3年了,业务都熟的差不多了),决定开始改变(任何时候都不晚),尝试学习解决一些算法题,给自己一些适…

自媒体可以去哪里找免费图片素材?

推荐6个超好用的图片素材网站,免费下载,还可以商用,建议收藏起来~ 1、菜鸟图库 https://www.sucai999.com/pic.html?vNTYwNDUx 菜鸟图库是一个综合性素材网站,站内有大量的设计、自媒体等相关素材,像图片素材就非常…

Linux篇2

Linux 0. 终端提示信息1. 文件目录结构1.1 文件目录 2. 文本编辑器VI/VIM2.1 VIM编辑器2.1 一般模式2.2 编辑模式2.3 命令模式 3. 网络配置3.1 VMware提供的三种网络连接模式3.2 静态配置网络IP地址3.3 配置主机名3.3.1 修改主机名3.3.2 配置主机名-IP地址映射关系:…

离散化详解

一.概念 把无限空间中有限的个体映射到有限的空间中去,以此提高算法的时空效率。通俗的说,离散在不改变数据相对大小的条件下,对数据进行相应的缩小。 二.适用范围 数组中元素值域很大,但个数不是很多。 比如将a[][1,3,100,2000,…

CloudCompare二次开发之如何通过PCL进行点云滤波?

文章目录 0.引言1.CloudCompare界面设计滤波(filter)按钮2.PassThrough直通滤波器3.VoxelGrid体素滤波器4.UniformSampling均匀采样5.StatisticalOutlierRemoval统计滤波器6.RadiusOutlierRemoval半径滤波器7.ConditionRemoval条件滤波器8.ProjectInliers投影滤波器9.ModelOutl…

js跨域的解决方案

一、什么是跨域? 指的是浏览器不能执行其他网站的脚本,简单来说是浏览器同源政策的限制,浏览器针对于ajax的限制。 同源政策 两个页面拥有相同的 协议,端口,域名 就是同源,如果有一个不相同就是不同源…

【SQL】作为前端,应该了解的SQL知识(第四弹)

📑集合运算 集合运算就是对满足同一规则的记录进行的加减等四则运算。 👉 对行数进行增减。 📃UNION 取并集 集合运算符会去除重复的记录 SELECT product_id, product_nameFROM Product **UNION** SELECT product_id, product_nameFROM …

图神经网络:(图的分类)在MUTAG数据集上动手实现图神经网络

文章说明: 1)参考资料:PYG官方文档。超链。 2)博主水平不高,如有错误还望批评指正。 3)我在百度网盘上传了这篇文章的jupyter notebook。超链。提取码8848。 文章目录 MUTAG数据集说明图的小批量处理法图分类的基本流程改进算法 MUTAG数据集说…

Webpack4 应用

文章目录 Webpack4 应用处理CSS文件使用css-loader和style-loader内联CSS安装配置webpack.config.js编写源代码编译打包 使用css-loader和mini-css-extract-plugin外部链接CSS安装配置webpack.config.js编译打包 处理图片使用file-loader处理CSS图片安装file-loader配置webpack…

ChatGPT使用体验

ChatGPT使用体验 前言 介绍ChatGPT 体验ChatGPT 菜谱 编程学习 出行导航 导游攻略 中英翻译 电影推荐 文章总结 总结 前言 最近关于ChatGPT的话题已经火爆了,我也观察和体验了一段时间。平心而论,这东西真的黑科技,大多行业都能通…

Unity-Android 打包报错

目录 报错: 分析: 1.代码剔除等级设置 2.什么方式会被剔除 3.解决办法 报错: FileNotFoundException: Could not load file or assembly XXX or one of its dependencies at System.AppDomain.Load (System.String assemblyString, Sys…

AI低代码,或将再次颠覆开发行业

IT行业最不缺少概念,大多数人也都是一知半解。AI的火爆,低代码的盛行,如今AIGC低代码、AI低代码、智能开发、AI生成式开发、AIGS(AI生成软件)等等呼之欲出, AIGC(AI Generated Content,AI生成内容&#xff…

攻防世界-web-php_rce

题目描述:无,只给了下面一张图(PS:图中的链接没问题) 1. 思路分析 图中信息给的不是很到位,需要有点外部知识,网上搜索ThinkPHP V5,可以看到是think php的一个历史高危漏洞&#x…

Grafana插件安装并接入zabbix数据源(03)

一、在线安装插件 如果不指定插件安装位置,则默认安装位置为/var/lib/grafana/plugins;插件安装后需要重启grafana-server 安装zabbix插件alexanderzobnin-zabbix-app # grafana-cli plugins install alexanderzobnin-zabbix-app 使用--pluginsDir指定安装路径 # grafana…

分库分表的 21 条法则,hold 住

不着急实战,咱们先介绍下在分库分表架构实施过程中,会接触到的一些通用概念,了解这些概念能够帮助理解市面上其他的分库分表工具,尽管它们的实现方法可能存在差异,但整体思路基本一致。因此,在开始实际操作…