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