写一篇好的技术文章有多难?

生产力设备

就我而言,一年里我也没写出几篇让自己满意的文章。因为写一篇好的技术文章真的很难。

对于一篇好的文章来说,它有这么一些要求:

  • 构建文章所需的理论体系
  • 实践及代码验证
  • 公正又有所偏爱的观点

又要注意这么一些事项:

  • 反驳错误的观点,但不要限入争论
  • 追求文章对自我和读者的价值
  • 排版和语法高亮
  • 注意错别字和专业用词

注意:这里所指的技术文章,不是某个问题的相关回答。而是着重于一些知识要点、架构等等,复杂的文章。

构建文章所需的理论体系

博客,光只是每天的用到知识点,那么一星期下来,怕是能记录满一本书。写篇文章可不像写代码那么轻松,首先要理清、整理自己的思路——为什么当时自己想的是 A 方法,然后才是 B 方法,又或者怎么找到 C 方法。如果能写下这个 Debug 过程,读者也许更能从中学到一些思想。而一本书吧,则是一系列相关的文章构成的合集,再加之以代码实践,以便于让读的人能更深刻的理解。写一本书的时间,可能是要上几个月,乃至几年的时间。

将生产领域的代码知识整理成体系,那就更加的困难。如在我写电子书 《Serverless 架构应用开发指南》的时候,我几乎把能买到的相关中文书籍都买了,以及 Packt 出版社旗下相关的电子书。尽管只是一本托(reng)管在 GitHub 电子书,但是作为我的作品,它在某种程度上代表着我。

写文章前吧,总是得把思路理清楚。技术文章嘛,归根还是在做学问,好的技术文章必然是实践出来的。与一般的八卦文章不一样的是,技术文章必然需要有数据、实践基础,而不是道听途说或者 Copy/Paste From Google。

可是做起来并不容易,如我在写《我是如何为技术博客设计一个推荐系统》三步曲之前的文章时,大概花了一个月的时间,在设计这样一个推荐系统上。而为了验证文章的用词及算法准确性,又翻阅了一系列的文章和书籍,编写了两三个算法的 DEMO,最后才总算确认下了文章的大概。

实践及代码验证

有了一个明确的主题和想法之后,我们就需要验证它的可行性。这就好比是有一些咨询项目一样,客户已经在心里有想法,但是还需要你去实现。如我在设想 “编辑-开发-发布” 架构时,花了差不多半个月去用 GitHub + Travis CI 构建一个 DEMO 应用程序。

一般的代码验证,都还是蛮容易的。可是,有些验证则是感性的。譬如,我们要去验证 Windows、macOS 和 Linux 哪个更好用的问题,必是要找到这三个操作系统,亲自用上个把月的时间。才能知晓我说的: Windows 适合游戏与工程设计,macOS 设备进行设计与编程,Linux 用作服务器,这句话到底是不是对的?

结论有了,那么证据也是要有的。这个时候我们就需要去证明:Mac 上没有多少游戏,又缺乏一些专业的工程软件。然后只得把相关的软件一个个的罗列出来,一对比。哦,结论真的是这样的,或者结论可能不是这样的。

结论不对,评论区里就会相当的热闹。为了评论区的热闹,总会有些人抛出错误的结论,“PHP 是全世界最好的语言”。

公正又有所偏爱的观点

没有一篇文章能让所有的人觉得满意。试图去写一篇让所有人满意的文章,看上去四不像,结果又让所有的人都不满意。

故,一篇文章应该着重于表达作者自己的观点,观点应该是有理论依据的,如 “为什么 Angular 更适合于大型前端应用”,而不是重复的表达 Angular 更适合于大型前端应用。如若不想得罪那些喜欢某个框架的人,在表达的时候需要含蓄一些。如我没有使用 xxx 开发过大型应用程序的经验,或者它缺乏这些 xx 的要求。

反驳错误的观点,但不要限入争论

讨论 PHP 是不是最好的语言,本身是没有意义的。我们只是想去说服对方,而去说服对方,证明自己是的。我们讨论的从来不是 PHP 是最好的语言,而是我的观点是对的。

受教育的标志是:你可以不接受一种观点,但你能够容纳它。

容纳别人的观点,并不是一件容易的事。多数时候,可能是我们无法站在对方的角度,因为我们想象不到对方经历了什么,比如说,贫穷限制了我们的想象力。

“在互联网上,没人知道你是一条狗。”

当然了,“如果批评不自由,则赞美无意义。”做为一个作者,

成为键盘侠很容易,只需要接上网络即可。多数的论战都是没有意义的,了解一件事情的上下文很难,所以多数人懒得去了解。哪怕是你在文中反复强调了,也是如此。随后,哪怕是对方后来了解了,要在这个时候让他/她去承认错也很难。事件就变得越发的糟糕,失控就难以避免。

争论的时候,双方都觉得自己的观点是对的,对方是错的。只要是有一方觉得,“咦,好像也点道理,但是应该试一试”,那么这个时候,争论就此结束了。

至于,自己要不要适当的让步,便是另外一回事了。

排版和语法高亮

良好的排版,语法高亮样式,这两个要素可以上我们披上专业的外衣。对于我而言,保持设计的一致性,而自定义了前端显示的样式。

虽然他们并不影响文章的质量,但:

  • 好的排版,能提供列好的阅读体验
  • 代码语法高亮,让你看上去更加的专业。

排版,它是一种细琐的活动,做好它并不容易。而针对于大部分技术人员来说(也包含我),天生缺乏这种美感。外加之,一般的技术写作都是先用 Markdown + Git 管理,随后再使用特定的编辑工具,如 Word、微信编辑器,最后再体验上容易出现平台的不一致。我则是使用自制的工具和主题,来统一不同平台的排版。

配图。技术文章和长的文章类似,有一个不容易阅读的问题。改善用户阅读体验的一种方式是,在多个段落之间插入相关的插图,或许是可以起到视觉过渡的效果。考虑到版权问题,我开始自己去造图。

代码语法高亮,技术文章往旆少不了代码来体验真理。故,代码是检验理论和架构的标准。在文章中穿插的代码,得对读者友好,而对读者友好的常见方式是:代码语法高亮。这也是我去年,写了自己的微信公号编辑器的原因,市面上没有支持微信公号语法高亮的 markdown 编辑器。

注意错别字和专业用词

高质量的文章,对于我来说,我的文章一直存在一个错别字的问题。但是,在不影响文章本身的阅读,它可能不影响文章的质量。可是关键时候,它往往还是影响了文章的质量了。

以前总觉得呢,以后有时间去修改错别字,可并没有。但凡是说以后改的东西,在未来基本上是不会改。因为我们觉得,它是可以忍受的,因此优先级并没有那么高。只当我们聊胜于无,才会找一些事情出来。

那些在 GitHub 的电子书经验告诉了我,读者往往才是那些更容易找出错别字的人。我大抵是已经习惯了,这个词语是怎么写的,比如说要分清楚怎么用连接、联接,并不是一件容易的事。大部分情况下,我用的是联接。

Java 8、java 还是 j8,这个问题的答案我想大家都很清楚。作为一个工程师,要最大限度的保证用词的准确性。如 Java 8 指的是 Java 这门语言的第 8 代,java 指的应该是 Java 语言的命令行工具,j8 是用来骂人的。对于其它语言、构架,如 Python、Ruby 也是类似的,python 是指在 Python 命令行工具,可以进入 Python 语言的命令行械。

追求阅读量还是自我价值?

追求阅读量,对于技术博客和技术公众号来说是一件可怕的事。出于同样的追求,未来作者可能会将技术文章变成技术八卦,因为只有热点和八卦才受人们的欢迎。为了流量和利益,追逐热点,无非只是将别人的观点,整理成文章,再看看读者评论里的回复。时间一久吧,怕是终将写不出有思想的文章。

换而言之,有思想的文章并不是指文章有思想,而是能促进读者去思考。不可避免地,大部分人都已经习惯不去思考,因此也就阅读量下降了。

大部分时候,我们并不关心东西南北发生了什么事,因为离自己太遥远了。人们一般只关心和自己及身边相关的事,或者一些可以用于聊天的八卦琐事。

过去,我也追求文章的阅读量。在偶然间接触了 Content Strategy,我才意思到我需要高质量的文章。高阅读量的文章基本上都有很高的时效性。这篇文章过了几星期、几个月,可能没有一点儿的用处。而高质量的文章,往往不会有这个问题。

当我开始理解高质量重要性的时候,我的思维发生了一些变化。我开始记录了成长过程中的一些变化,阅读量一点也不理想。可每当看到这些文章,会冒出一些新的想法。这些文章,大抵是未来的自己而写的。我不再去刻意地追求阅读量,开始提升文章的质量。

于是,在平衡阅读量和质量的时候,我成了一个 “标题党”。好的标题,往往能提升文章的打开率的。

结论

嗯,多关注我的微信公众号(phodal-weixin),获取更多及时有用的技术知识。

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 212,294评论 6 493
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 90,493评论 3 385
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 157,790评论 0 348
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 56,595评论 1 284
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 65,718评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 49,906评论 1 290
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,053评论 3 410
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 37,797评论 0 268
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,250评论 1 303
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,570评论 2 327
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,711评论 1 341
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,388评论 4 332
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,018评论 3 316
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,796评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,023评论 1 266
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 46,461评论 2 360
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 43,595评论 2 350

推荐阅读更多精彩内容