写文章时 揭秘 | 全网最全面的技术文章写作大全
前言
我们为什么要写技术文章呢?在工作中如何沉淀出技术文章呢?如何写好一篇技术文章呢?相信通过这篇文章你可以得到答案。那么我们开始吧。
写作前的事情
1. 写作价值1.1. 传递和分享技术
前人栽树,后人乘凉。 在日常开发和运维工作中,开发人员往往会借助大量的手段学习、分析、解决问题,比如:官方文档、开源社区、技术博客和公司内部论坛等。
通过写作技术文档、技术文章,可以在技术圈子传递和分享自己对一个技术的 认知 和 经验总结,接受反馈、相互学习,加强对技术的探讨和升华。通过他人技术文章解决问题的同时,我们也应该学会 反哺。
1.2. 打造个人影响力
一篇实用的技术原创文章,可以为自己带来大量的读者,可以发掘和提高个人包含技术在内的能力,大幅提升个人的 影响力。
写作好的技术文章可以提高自己在 行业、公司内部 的影响力,为行业或公司 沉淀知识体系。持续输出高质量的文章可以 打造个人流量,帮助他人的同时 获取流量 和 知识付费变现。1.3. 提高个人总结能力
写作对个人的专业水平和综合能力是有一定的门槛的。正所谓技多不压身,除了基本的编程开发能力,开发人员还应该具备一些其他技能:
2. 写作障碍2.1. 从0到1:从没写过到写过
万事开头难,技术写作也是一样,通常迈出第一步是最难的,这个阶段的核心是 突破自己内心的障碍。这时的障碍主要来自两方面:
有这两方面担心很正常,当然这两方面的担心其实也都好解决。
明确定位文章的 面向群体,面向初级、中级、高级、TL 还是技术总监,内容高度是有很大区别的。不同岗位、不同职级的人本身对 文章层次 的需求相差甚大,并不是高度越高就越好。
一定有很多比我们厉害的人,那么这些人会带着什么心态去看这些文章呢?
首先可以明确不是带着批判的心态,其次他们可能也希望通过文章去补充自己,看看是否有新观念、新想法的出现。即使不符合他们的胃口,比如讲的内容自己可能做得更好,他们会很快关闭去看其他的,而不是继续浪费时间。当然,还有一种可能,他们可能并 不会打开。总之,这方面也没有什么可顾虑的。
2.2. 从1到N:从不想写到主动写
迈出第一步之后,接下来这个阶段的核心是 持续积累、总结 和 输出。
不积跬步无以至千里。要写出 高质量 的文章,需要不断地 积累素材 和 总结经验,最后通过文字表达出来。先说下积累和总结,这个分 积累素材 和 系统总结:
在日常学习和工作中,要养成 记录随笔 的习惯,随时记录一下自己对技术的理解和思考,也包括工作实践中的 踩坑避雷 的经验总结。这个过程不限于 阅读、收藏 他人的好文章、提炼 出核心的 技术知识点,并对素材和知识点进行 标记 和 归类。
当某项技术的收藏和记录 知识素材 积累到一定程度时,你对技术的 理解 和 认知 也会达到一定的 广度 和 深度。当你在工作中 应用到 这项技术,将理论基础和实践中的 技术方案、技术调优 和 数据支撑 相结合,融入工程化实践和自己的观点,最终将知识 结构化 和 文档化,就形成了一篇 高质量 的文章。
3. 写作内容
在日常工作中哪些内容可以沉淀为技术文章,我们得先清楚 哪些内容 是可以产出技术文章。
3.1. 线上故障和解决经验
你遇到过的线上技术问题和难题,一般是某个具体的技术点(bug、性能、生产事故等),经过你的 分析、排查 和 处理,问题得到了 有效解决,解决后你又 系统性地 学习和研究了相关技术知识,即可总结为一篇文章。
3.2. 设计方案和工具介绍
你在工作中为解决某个 业务问题,通过 分析、调研 和 验证 等环节,产出的 设计方案,及其使用到的相关 工具、框架 或 组件 等,可总结为一篇文章。
3.3. 新技术和新趋势介绍
你关注的行业发展中出现的 新技术、新趋势,能提高解决问题的 效率、带来更好的 实践 或能够有效突破现有技术的 瓶颈 等,可总结为一篇文章。
3.4. 项目遇到的挑战和解决方案
你参与过的某个项目,为了 按时高质量 的交付,遇到的一些挑战(问题、风险等),可以是 技术方面 的挑战,也可以是 沟通协作 的挑战,或者是 工作模式 的挑战,都可以总结出经验和教训。
3.5. 好用的开发工具和使用技巧
你在写代码、调试、测试和运维等阶段,发现了好用的 工具、技巧 或 规范,能够提高 工作效率、代码质量 等,也可总结为一篇文章。
3.6. 编程语言和框架的实践经验
你学习的 编程语言、技术框架 的学习笔记(梳理、总结 等)、实践经验(Demo 代码、实际应用),可总结为一篇文章。
4. 写作途径
好记性不如烂笔头,写作不是一个作者的专职工作,日常工作和学习有很多锻炼的方式,对于程序员来说有哪些方式呢?
4.1. 写代码注释
在日常开发工作中,写好代码注释也是一种好的手段。如果你的代码写得足够优秀,是不需要过多注释的,注释是对代码的一种理解的增强。
对于 复杂业务场景、公共代码库 以及 晦涩难懂 的代码,清晰的注释可以帮助其他开发人员快速理解 业务上下文 和 代码逻辑。
什么是好的注释:
注释应当 简短、精炼 和 清晰,避免长篇大论的说明论述。告诉大家你 “为什么” 写这个注释,而不是 告诉大家这段代码 “是什么” ! “是什么” 应该交给代码本身去解释,这个最为关键。注释有 时效性,持续维护 你的注释,也就是记得及时更新,与当下 代码语境 匹配。4.2. 回答技术问题回复简书、掘金、知乎、51CTO、CSDN、博客园和思否等平台上他人提出的问题。在 、Stack 、官方技术平台等平台提出、回答问题。在公司内部技术论坛、其他团队的技术文档下提出问题。在内部代码检视时和 Pull 时给予合理的评论。4.3. 写技术博客在微信公众号、简书、掘金、知乎、51CTO、CSDN 和博客园等平台发表技术文章。在 InfoQ、51CTO、阿里开发社区等官方技术平台刊登杂志、技术博客。定制自己的技术博客网站,通过内容品质、站点运营推广自己的技术文章。开通个人知识星球圈子,将个人技术文章进行沉淀、整理和归档。在公司内部技术论坛、技术博客发表技术博客,包含内部技术和开源分享。4.4. 写技术文档利用 、、 和语雀对某个技术领域进行长期的知识沉淀。在公司内部 Wiki、WPS 文档和公司代码仓库编写技术文档。4.5. 写技术书籍
对某个技术领域有了深入和系统的学习、理解和思考,有了 成系列 的技术文档、技术博客以后,就可以考虑出版技术书籍的可能。
如果需要出版技术书籍,要先了解市面上同类书籍的内容,确定出版书籍 针对的方向、侧重点、独特性。主要的出版社如下:
图灵出版社机械工业出版社人民邮电出版社电子工业出版社清华大学出版社5. 写作工具
俗话说得好,工慾善其事,必先利其器。最后分享一下不错的文章写作工具。
5.1. 画图工具
是一款专业强大的作图工具,支持 多人实时在线协作,可以用于在线绘制 流程图、思维导图、UI原型图、UML图、网络拓扑图、组织结构图 等。 只能支持 9 张免费在线图片存储,支持多种格式的图片文件 导入导出,能够兼容不同的操作系统,不管是 Mac 还是 ,一个 浏览器 就可以完成画图工作。
更强大的功能,支持多标准的格式交换:
Draw.io
Draw.io 是一个很好用的 免费流程图 绘制工具。
你可以利用它绘制一系列的图表、图示或图形,包括 流程图、UML类图、组织结构图、泳道图、E-R图、文氏图 等,适用于商务、工程、电气、网络设计、软件设计等诸多领域的专业绘图。它致力于成为 完全开源、免费、并且高质量的绘图软件。
软件内置了相当丰富的绘图资源,包括各类形状、图标、连接器、模板,能满足绝大大多数的绘图需求,还可以导入第三方图标资源满足更多需求,完全可以取代微软 Visio 等流程图软件。
是一款非常轻量的在线白板工具,可以直接在浏览器打开,轻松绘制具有手绘风格的图形。 基于 语法实现绘图功能,不仅 简洁轻量,还可以和 编辑器的工具集成,实现各种特色功能。
与 Visio 绘图相比,在 工具中使用 绘图的优势体现在:
5.1. 图片平台
好的文章需要好的封面,有条件的可以自己画,也可以用一些工具来生成,比如 创客贴、稿定设计 等,也可以是任意的图片。
创客贴
创客贴 是一款简单易用的 线上图形设计神器,功能十分强大,涵盖了新媒体营销、公众号运营、广告印刷、工作文档、电商、生活等多个场景。
稿定设计
稿定设计 是一款专为电商运营者、新媒体运营人员和作图爱好者打造的在线智能化平面设计工具。通过 简单拖拽 操作,一分钟即可轻松搞定不同场景不同尺寸的各种设计。
写作中的事情
1. 创建大纲
组织文章的 结构 和 内容,其中的 结构 是指文章的 结构组织方式,内容 更多的是指 内容大纲。
1.1. 梳理写作结构
有了好的内容,还要注意文章的结构。关于结构,有一本书叫 《金字塔原理》。金字塔原理教导我们在写作、表达的时候,要构建 清晰的结构。
对于一篇文章来说,金字塔的顶点是 中心论点,即通常就是文章的标题。围绕着这个 中心论点,我们可以用 多个观点 去支撑中心论点。如果表达的内容很多,观点还可以进一步 往下细分。形成一个 以上统下、逻辑递进 的金字塔结构。
通过这种形式写出的文章,就会显得逻辑清晰,结构紧凑。
对于技术文章来说,可以考虑使用 3W2H模型 来 构建结构。比如要写一篇关于 抽象能力 的文章,就可以通过以下角度去说:
What:什么是抽象。Why:抽象为什么重要。How:如何进行抽象.Where:抽象可以用在什么地方。How much:抽象到什么程度。
格外提一点,文章的 开头 和 结尾 要同样是比较重要的,不要忽视。
概述文章的主题,能够做到吸引读者的注意力,一般可以通过提出问题、讲述一个引人注目的事实或相关的故事。
主要是总结文章的主要观点,重申你的观点,提供进一步的建议和行动指南。
1.2. 选择组织结构
需要根据文章的主题和目的选择 合适 的组织结构,以便让读者更容易理解。常见的技术文章组织结构如下:
问题解决结构
按照 一个 或 多个问题 来组织,然后通过提供 解决方案 来回答这些问题。这种结构的文章通常适用于 技术教程、解决问题 的指南和操作说明等。
步骤性结构
按照一系列步骤或操作来组织,以便读者能够 跟随步骤 完成任务或操作。这种结构的文章通常适用于 技术教程、操作说明 和 编程教程 等。
分析性结构
按照一系列 概念、理论、方法 或 技术 进行分析和解释,以便读者能够更好地理解 技术原理 和 应用场景。这种结构的文章通常适用于 技术分析、技术评估和比较 等。
项目式结构
按照一个完整的项目或任务来组织,以便读者能够了解整个项目的 实现过程 和 技术细节。这种结构的文章通常适用于 项目开发 和 技术方案实现 的介绍。
说明性结构
按照一系列 技术概念、术语 和 技能 等进行解释和说明,以便读者能够更好地理解 技术知识 和 应用场景。这种结构的文章通常适用于 技术介绍 和 技术文档 等。
1.3. 确定内容大纲
内容大纲是根据文章的组织结构、主题和目标确定的,以下是一些建议:
列出主干部分和子部分
根据主题和目标确定文章的 主干部分,及其 子部分,帮助你理清 内容结构 和 思路,确保能够覆盖到主题的各方面。
确定各部分的主要内容
对于每个主要部分和子部分,进一步 拆解,确认它们的 主要 和 重点内容。
编排各部分的逻辑顺序
根据文章的主题和目标用户,采用适合的顺序 组织 各个部分,使其有更好的可读性和连贯性。
备注注释和细节
在内容大纲中,结合收集到的信息和文章思路,添加一些重点的 注释、细节,以便在写文章时,不会遗留一些重要的细节和思路。
2. 组织文章
按照文章的提纲,开始写文章。为了让读者易读、易懂,要做到 清晰地组织文章,以下是一些建议。
2.1. 语言简洁明了2.2. 使用段落和分层2.3. 使用辅助图表和示例
在阐明观点、概念的同时,辅助图表、插图、数据、示例(实际的案例、含注释的代码等)更加 直观吸睛,让人觉得更有 说服力。其中可视化相关的 图表、插图 和 表格 等是尤其高效和受欢迎的。
2.4. 删除不必要的内容
在保证内容完整性的基础上,内容 越简炼越好。写文章和复审时,要有意识地只保留与 主题相关 的信息,如不使用 不必要 的形容词、副词等,专心于核心内容,不做额外修饰。
2.5. 避免重复词汇
总是 重复 的词汇、观点,会让读者感到 低效 和 枯燥,因此需要避免,可使用一些 同义词替换。
2.6. 注重细节和准确性2.7. 注意排版和格式2.8. 保证逻辑环环相扣
环环相扣 是指内容不要一下子全讲完,要留下一个 信息缺口 和 层层递进,承上启下 引出下一部分内容,直到文章最后再形成 完整闭环。从标题开始就要留信息缺口,引起好奇心,吸引读者继续往下读。
总结
到此,文章即将结束,让我们回顾下文章开头提到的三个问题:
相信你或多或少地得到了一些答案。本文只是做了一个引导,实践出真知。要写好一篇技术文章,需持续不断地 强化练习,才能 下笔如有神。
