最近准备对公司的一个很复杂的项目写一份源码分析,方便以后新人接手的时候能够快速上手,不用像我当初一样太过于痛苦。在浏览源码写作规范的时候,读到了doodlewind的《为什么源码分析味同嚼蜡?浅析技术写作中的思维误区》,深受启发。

技术文章可以分为新人向和老人向,在进行技术类文章写作的时候,要先明确文章受众群体。是面向入门的新手还是已经拥有技术背景的老手。我会总结分析一下二者的一些写作方法。建议各位先阅读上述原文。

秉承的价值观不同

新人向的文章:以读者为本的价值观,关注如何让读者理解知识。

老人向的文章:以规范为本的价值观,关注如何系统、结构地陈列知识。

写作思路不同

新人向文章:写作的时候多问几个why,尽可能剥离业务性的逻辑,关注程序本身的抽象和设计,而不是源码细节。

老人向文章:减少非专业描述语句,写作行文可能更偏向流水账,目的是为了呈现细节。

新人向写作的一些具体技巧

  1. 尽量以简单的文字、图片、表格、流程图、简短的代码或者伪代码来进行描述逻辑。绝对避免大段源码粘贴。
  2. 不要假设读者的水平。描述应该尽可能细致准确,对于一些与本文无关的概念解释,将关键词连接到其他地方的资料上,这种方式既能保证概念的准确无遗漏,也可以保证书本本身的主题不被其他主题所干扰。
  3. 经常举例子,对于一个复杂功能,单纯的描述其作用原理是非常有限的,不利于读者理解。
  4. 写作的时候千万不要抱着【我这个东西很厉害呢】的心里,这样写不出优秀的入门类文章的。要旨在分享,希望能够让新人看懂

老人向写作的一些具体技巧

  1. 面向老人向写作,并不代表上面对于新人向的写作技巧不能使用。只是针对此类受众,提高文章中的知识密度是更重要的事情。例如专业文献、专业书籍等。此类文章,是需要给已经读懂过一次的人,才能发挥出最大的价值。
  2. 注重逻辑、珍惜笔墨、减少非专业描述语句。

结语

写文章的时候,注意分析受众的身份,不要混淆,不然的话很容易让读者感到困惑。本文其实算是老人向的文章,针对的是看过doodlewind的《为什么源码分析味同嚼蜡?浅析技术写作中的思维误区》,从中获得的启发。也欢迎大家继续补充~

技术写作的两种方向和方法相关推荐

  1. 【转载】面向对象建模与数据库建模两种分析设计方法的比较

    [转载]面向对象建模与数据库建模两种分析设计方法的比较 板桥里人 http://www.jdon.com 2007/9/23(转载请保留) 我们知道:一个软件从无到有需要经过如下几个阶段:分析.设计. ...

  2. 史上最容易理解————GET和POST两种基本请求方法的区别

    GET和POST两种基本请求方法的区别 GET和POST是HTTP请求的两种基本方法,要说它们的区别,接触过WEB开发的人都能说出一二. 最直观的区别就是GET把参数包含在URL中,POST通过req ...

  3. GET和POST两种基本请求方法的区别

    GET和POST两种基本请求方法的区别 回退 回退时无害 会再次提交请求 记录 URL可被记录, 用于再访问 不可以 缓存 主动缓存 可手动设置 编码方式 只进行url编码 多种编码方式 参数长度 有 ...

  4. 哈希查找解决地址冲突的两种最常见方法(线性探测再散列,链地址法)C++实现

    哈希查找解决地址冲突的两种最常见方法(线性探测再散列,链地址法)C++实现 参考文章: (1)哈希查找解决地址冲突的两种最常见方法(线性探测再散列,链地址法)C++实现 (2)https://www. ...

  5. fstream与 C 风格(例如fread 和 fwrite )两种读写文件方法的效率比较

    我觉得作者写的挺好,评论也写的很对. 目前我的项目就是在VS2008+Qt+win7上开发的.我上次总结的QFile和C语言对文件操作的性能比较.--读取double型二进制数据文件也说明了这个问题. ...

  6. Word 2003中打开最近操作过的文档的两种推荐的方法

    本文介绍Word 2003中打开最近操作过的文档的两种推荐的方法. 注:我的系统为WINDOWS 7,与XP下基本一致. 方法1: 在WINDOWS 7下,点击任务栏上的WINDOWS图标(即&quo ...

  7. 【H5】两种加密解密方法:

    [H5]两种加密解码方法: encodeURI(): //加密 decodeURI(); //解密 加密成base64编码格式 btoa() 加密 atob() 解密 实现代码如下: <!DOC ...

  8. js两种拼接字符串方法

    js两种拼接字符串方法 function(msgArr) {//参数为一个数组,每一个对象为图片id和图片地址var len = msgArr.length;//第一种拼接方式,直接用"+& ...

  9. R中两种常用并行方法——2. snowfall

    上一篇博客(R中两种常用并行方法--1. parallel)中已经介绍了R中常见的一种并行包:parallel,其有着简单便捷等优势,其实缺点也是非常明显,就是很不稳定.很多时候我们将大量的计算任务挂 ...

最新文章

  1. Struts 2的输入校验(一)
  2. 苏联曾经的AI有多强?一段几乎已被世人遗忘的往事
  3. 阿里如何实现100%容器化镜像化?八年技术演进之路回顾
  4. 正则表达式 – 语法
  5. VC++ 6.0下OpengGL配置以及glut配置
  6. 远程过程调用失败0x800706be_WordPress5.0 远程代码执行分析
  7. spring-boot 入门学习
  8. boost::multi_array模块测试 index_gen 的代码
  9. myemployees库的四张表介绍
  10. 关于java包_关于Java包
  11. git push到GitHub的时候遇到! [rejected] master -> master (non-fast-forward)的问题
  12. eclipse修改字体大小
  13. 2015年总结与2016年目标
  14. 计算机基础知识_进制转化
  15. 对于程序员头发的认识
  16. 基于拉丁超立方抽样与自适应策略的改进鲸鱼优化算法
  17. 程序员可迁移技能的培养
  18. 计算机基础应用在线免费答题,计算机应用基础简答题附答案.doc
  19. houdini环境变量服务器文件读不了,Windows下在普通命令行窗口里初始化Houdini环境...
  20. UnboundID的使用

热门文章

  1. 100教程-100jc.cn
  2. VCam 虚拟摄像头 V3.1.0 下载 - 天空软件站 - 聊天工具 - 联络聊天
  3. VUE构建工具-姜威-专题视频课程
  4. HTML5与CSS3初级入门-姜威-专题视频课程
  5. 软考信息安全工程师学习笔记六(未完待续)
  6. 嵌入式系统开发笔记78:电话、电报发明给予我们的启示
  7. Python 获取 网易云音乐热门评论(python2/python3代码)
  8. 敏捷团队要有一个《伊凡卡目标》——计划会的共识和每日站会的焦点
  9. 八年级计算机知识点总结,人教版|八年级上册各单元必考知识点汇总,收藏!...
  10. 关于 HTTP 常用 Method