程序员怎样写好文章 ################## 博客的选题 ============== .. note:: 在金融领域有这样一种说法,即想要赚钱必须符合 3 个条件之一:Be First、Be Smart、Be Cheat。 博客的分类 ========== 分类一 ------ .. figure:: https://img.zhaoweiguo.com/uPic/2022/03/XuGE8a.jpg 用户来源图。前三者可以带来很多的流量,后者可以带来大量的评论啦。通过社交媒体可以让第四种类型的文章,有大量的评论和转载。干货型和实践总结型的文章通过聚合网站来传播的效果最好。 .. figure:: https://img.zhaoweiguo.com/uPic/2022/03/cHRjYX.png 能写的3种文章 技术博客可分为下面几种类型:: 1. 技术细节型 2. 干货型 3. 实践总结型 4. 杂谈与鸡汤型 不同类型的写作要点 ^^^^^^^^^^^^^^^^^^ 技术细节型:: 这种类型主要来自于日常工作 * 试着去表达一些技术上的细节,也会省去一些技术上的细节 * 以自己学习的角度去想怎样写可以一步步下来 * 加入一点点自己的情感,博客和文档是不一样的 * 编写更简洁的内容,因为技术博客与此文不同的是,技术博客是面向寻找信息的人 干货型:: 这一类型的文章都是作者一段时间对于某一个东西的总结,非常有收藏价值。 故而,这种类型的文章会在 GitHub 或者聚合网站上比较受欢迎。所以,它也更容易传播。 但是写起来的难度比较大,这依赖于你的使用经验。所以,也不是一天、两天就能搞定的。 实践总结型:: 这通常是一系列的文章,而这一系列的文章一般是连续写出来的。 也因此,我们可以发现很多的书都是由这一类的文章衍生出来的。 这一类的文章更像是干货型和技术细节型的结合,面向特定领域的技术,也属于干货。 对于这种类型的文章来说,更依赖于代码 —— 读者需要依据代码一步步往下深入。 杂谈与鸡汤型:: 这一类文章基本上是没有技术的,都是一些以理论为主的概括。 同时,写这一类文章的时候,也意味着在某一领域有一定的水平。 而由于偏向理论,这一类文章看的人往往会更多,因为它并不倾向于使用领域特定的技术。 所以这种类型是受众很广的文章,并且也像鸡汤一样容易传播。 同时,这种类型的文章,更依赖于社区媒体及聚合网站的传播。 因为大部分情况下,用户不会这么去搜索文章的。 分类二 ------ 1. 「解决问题」类型:: 解决问题类型的标题一般都是 XXX的解决方法,XXX的排查过程。 其文章结构一般如下: * 问题是怎么发现的? * 排查问题的详细过程? * 总结反思:是否可以更快发现问题?如果再次避免等。 2. 「怎么做」类型:: 怎么做类型的标题一般是如何XXX, 怎么XXX。 其文章结构一般如下: * 为什么要这样做? * 怎么做? * 做的过程中遇到了什么问题? 此类文章,需要分步说明,而且要写详细。最好也标明是什么环境、写明预期结果。 3. 介绍知识类型:: 介绍知识类型,也就是某项知识的介绍。 一般标题是什么是XXX, XXX简明介绍。其文章结构一般是: * 什么是? * 为什么是? * 它的优缺点? * 它的原理? * 同类型的对比 * 总结 如何写博客 ========== 几个关键点:: 1. 标题、小标题。一个好的标题会带来更多的流量的。 2. 内容。以代码为例的文章,最好有代码。 3. 图 —— 一图胜千言,如本文第一节中的框架图,一个框架图可以省去你的很多话语。 4. 排版。基本的语法高亮,白底黑字。 在编写内容的时候需要注意下面的几点:: * 代码。必要的时候贴出代码,会是一种快速有效的方法,工作的时候是为了完成某个任务 * 列表。列表可以简明扼要的说明你想要表达的内容 * 图表。一张流程图可以说明程序的步骤,一个表格可以作好一个对比 * 标题。标题的好处,可以让用户快速定位,让用户找到想要的内容 * 链接。一个好的 URL 好文章的模样:: 通常来说,一篇技术文章只要囊括 What/Why/How 就已经挺完整了。 当然这只涉及某一个知识点,你仍然可以就相关的概念进行必要的论述。 写文的一些技巧:: 1. 不要超过三级目录,否则反思自己的内容是否合理; 2. 把所有有序列表的序号都写成 1.,这样可以避免排序更改序号的问题; .. figure:: https://img.zhaoweiguo.com/uPic/2022/03/286PHZ.png 如何写一遍技术博客 写好文章的建议:: * 好文章是改出来的。不要以为边写边想能一次性写出好文章,大文豪都做不到这一点 * 初稿要早点写出来。只有先有文章,才能改文章 * 写完初稿后要尽快开始修改。隔了 3 个月的代码并不好改,文章也是一样 * 多读别人的文章。如果觉得好,思考好在哪里;如果觉得不好,思考坏在哪里 * 大致学习一下日本平面设计,他们的极简主义风格把一切 “迷惑行为” 都去掉了 使用 3W 黄金法则:What、Why、How:: 1. 这项技术是什么? 2. 为什么要学这个?核心用法是什么? 3. 出现问题的解决方案有哪些? 写博客的时候重点放在为什么和怎么做 从问题方向看:: 参考自:5 Common Problems with Technical Articles * 目的不明确。“所以,搞着些玩意儿是要干啥?” * 文章内容太过狭窄。“噢,这篇文章只面向 20 岁的见习风系魔法学徒使用,不看了” * 贴代码没注释。“这个野生的咒语是干啥的?” * 前后不一致的口吻。“我感觉快要精分了~(>_<~)” * 写到最后没有个结论。“(..•˘_˘•..)” 从正面的方向看:: 参考自:writing-for-tech-audience 1. 拥有个性 不要跟写 API 文档一样无聊,而是寓教于乐,体现出自己的个性。 2. 在前面一点的前提下,留意自己的行文措辞对于受众是否合适 如专业性强的文章,随意的措辞、语法错误、标点错误之类会让读者产生不靠谱的感觉 3. 主线要有主线的存在感 不要延伸过多很少会遇到的文章主线之外的细节, 即使插支线剧情也要以不同的形式让读者能轻易分辨, 不要和主线混在一起,以及别太长 4. 基本的排版 小学老师说写作文要划自然段, 文章分节的标题之类的也可以帮助读者能够快速了解文章大体内容。 如何收集写作的灵感 ================== .. note:: 一般是先有个论点,然后再论据,最后才写。 1. 在平时把想到的一些能写的文章用 TODO 的形式列出来 2. 在平时偶然有灵感时,就用 Google Keep 创建一个新的记事,稍微写几句,提醒一下自己 3. 写出来 .. note:: 真正的想法都在脑子里,而不在纸上,或者 IDE 里。所以,其实写代码的时间很短,真正长的是想出怎么写,文章也是如此。 碎片化记录,结构化整理 可以建个文档库,把日常的一些琐碎的想法记录下来,随时写随时存 先把各种碎片化的记录收集起来,形成一份 “素材” 文档,然后梳理文章脉络,把素材应用进去。操作起来很简单,刚开始的时候会遇到前后不通畅的问题,多练习练习就好了。 刻意练习,先写再改 有了素材之后,平时可以专门练习写作能力,先写一小段话,明确的描述一个观点,然后不断修改。 练习把做的事情描述清楚,说话的方式简单点,不要用太多高大上的词汇。最关键的部分在于:写完花五分钟再改一遍!读一下是否通顺,有没有把问题讲清楚。反复修改才是提升写作技巧的关键。 找一篇自己以前写的,内容很不错但是写得不太行的文章,重写一遍!这个过程既温习了技术,又锻炼了写作技巧。不要觉得无聊浪费时间,很有效的。 文章写多了就可以逐渐形成自己的风格,让所有文章都保持某种共性。 文章结构 ======== 优秀文章套路基本相似,问题文章则各有各的缺点。这里我用 “起承转合” 四字来概括基本套路。 “起”:: 好的开头是成功的一半。 一般来说,在文章开头,你需要交代写作缘起,如业务遭遇痛点、线上神秘 bug 等。 而后,简要介绍文章将从哪些方面展开、达到什么目的,而读者能从中获得何种收获。 “承”:: 承接开头,开始按事先整理的大纲,切入正题。可以开始详细介绍相关场景、探索解决方案的历程 需要注意的是,始终不能忘记目标受众。 根据目标受众特点,注意在必要的地方,提供必要的背景知识,如某项技术的发展历史及相关术语介绍。 “转”:: 经过前面的充分铺垫,话题转入突破阶段。 可以详细介绍你所寻找到的突破方案及其效果。 如有多种方案,建议同时列出,并加以对比。 “合”:: 回顾全文,适当总结: * 文章解决了什么问题? * 还可以进行哪些方向的探索? * 有何不足之处? * 展望未来 核心心法 ======== 先来问自己几个问题:: 比如每天写文章之间,先来问自己几个问题。 1、我写这篇文章的目的是什么? 2、我能给读者带来什么好处? 3、我如何安排文章结构,让读者快速获得好处? 一个观念:: 复杂事情简单化,简单事情流程化. 水到渠成,渠到水成。 渠就是流程,水就是文章。 当你的流程创建好了,就等于是修建好了渠道, 有了流程,每次坐在电脑前,文章就像水龙头里的水一样自然地流出来了。 一切都是那样的自然。 每天写一篇高质量文章的流程:: 第一步:收集素材 第二步:取出素材 第三步:策划文章 第四步:写出文章 一篇好的技术文章是由哪几部分组成:: 1、引言 | 前言,精炼覆盖全篇所讲的内容。 2、阐明该技术的重心 / 解决什么问题。 3、着重分析自己所要表达的技术重心。 4、总结 / 最佳实践。 素材 ==== 图片 ---- .. note:: 没有版权的图片网站搜索图片 1. https://unsplash.com/ (英文,推荐) 2. https://pixabay.com/zh/ (中文) 3. https://www.pexels.com/zh-cn/ (中文) 参考 ==== * 程序员怎样才能写出一篇好的博客或者技术文章: https://www.phodal.com/blog/programmer-how-to-write-a-good-article/