如何写出高质量的技术文章

简介: 为什么要写文章?什么是好的技术文章?如何写好技术文章?如果你是一个不喜欢语文、不喜欢阅读、作文很少及格的理科生,想要写好一篇技术文章,请一定要往下看。

3.png

作者 | 张建飞
来源 | 阿里技术公众号

对于一个从小不喜欢语文、不喜欢阅读、作文很少及格的理科生来说,做梦也没想到,有一天我会写一篇文章教人如何写文章:)

一 为什么要写文章

懂了,不一定能说出来,说的出来,不一定能写出来。这就是写文章最大的好处,官方术语叫“费曼教学法”。写文章是一个逼迫自己深入理解问题、把问题想清楚,整理好思路,并能清晰表达出来的过程。其本质是一种自我学习、自我提升、构建知识体系的最佳方法。

除此之外,写文章还有一个副产品——帮助我们扩大影响力。就拿我来说,我大概是在4年前,开始有规划地搭建自己的知识体系,包括阅读、记笔记、写文章、分享。

在这期间,我连续3年获得最佳年度作者,上头条的文章也不少。另外,阿里技术公众号,也发表了我10篇左右的文章,其中有2篇入选了创刊最佳文章,很多篇文章都有3万+阅读的不错表现。

基于这些总结沉淀,我在人民邮电出版社出版了一本书《代码精进之路:从码农到工匠》,我本人也凭借本书获得了人邮IT类年度最佳作者。

二 什么是好的技术文章

关于优质文章的标准,有一个对好文章的判断是:“文章框架完整、思考深入清晰、正文至少80%以上为原创技术干货。”这引起了不少的争议。

有争议很正常,没有争议才奇怪呢,好的技术文章,就和好的技术绩效一样,主观性太强......很难有一个客观标准。

如果硬要对文章质量进行量化的话,有些指标可能有帮助。 比如文章的浏览量、点赞数、评论数、收藏数等指标。有用,但也只是参考作用,最后还是需要人的评判。

所以抛开这些因素不看,我认为好的技术文章至少应该满足两个条件:

  • 一个是要传达有价值的信息。
  • 另一个是要结构和逻辑清晰,具备一定可读性和可理解性。

在此基础之上,如果能做到有文采、够风趣那就更好了。

三 如何写好技术文章

内容有用

一篇好文章,一本好书,最重要的是要让读者有获得感,要对读者有用,要言之有物。

这里的“物”可大可小,不一定非要是一个很大的命题,恰恰相反,一篇文章的篇幅有限,能把一件“小事情”说清楚就已经很不错了。

我曾经发表过一篇文章——《阿里缩写和专业术语大全》,做的事情很简单,就是把我在阿里碰到的缩写全都整理成册。就这么一篇“小文章”,却成了我最火的一篇文章,有将近100K的阅读,3K的点赞。

为什么大家会如此关注这篇没有“技术含量”的文章?很简单,很多人都有好奇心,大家都希望了解缩写背后的全称和来历,这正是这篇文章的价值所在。

类似的,像云原生技术介绍、前端技术体系大全、新人入职手册、《马总演讲集》等都属于这种信息整合类的文章。

除此之外,那些有自己技术见解和思考,敢说真话的文章,也会受到大家的欢迎。

比如,我觉得很多技术团队不应该有架构师这个岗位,所以写了《人人都是架构师:架构是一种能力,不是title!》。我觉得很多的软件复杂度来自于工程师的乱作为,比如滥用流程引擎,治理复杂度的根本是抽象思维和结构化思维,于是写了《一文教会你如何写复杂业务代码》。

这些文章之所以受到欢迎,是因为引起了很多同学的共鸣,对他们有帮助。

结构清晰

有了好的内容,还要注意文章的结构。就像一道菜,要讲究色香味俱全,即使有了最好的食材,但是做出来的样子一团糟,也会影响食欲,称不上是一道好菜。
关于结构,我推荐你去看一本书——《金字塔原理》,我本人也写过不少关于结构化思维的文章。金字塔原理教导我们在写作、表达的时候,要构建清晰的结构。

1.png

对于一篇文章来说,金字塔的顶点是中心论点——通常就是文章的标题。围绕着这个中心论点,我们可以用多个观点去支撑中心论点,如果表达的内容很多,观点还可以进一步往下细分。形成一个“以上统下、逻辑递进”的金字塔结构。

通过这种形式写出的文章,就会显得逻辑清晰,结构紧凑。

对于技术文章来说,我们可以考虑使用3W2H模型来帮助我们构建结构。比如我要写一篇关于抽象能力的文章,就可以通过以下角度去说:

  1. What:什么是抽象;
  2. Why:抽象为什么重要;
  3. How:如何进行抽象;
  4. Where:抽象可以用在什么地方;
  5. How much:抽象到什么程度;

同样,我现在正在写的这篇文章,我也是通过这种方式来搭建结构的:

2.png

刻意练习

开篇说过了,我以前没有写作的习惯,小时候语文作文也经常不及格。后面竟然出版了自己的书,说明写作作为一项技能,是可以习得的,是可以通过练习提高的。

因为写的多了,练习的多了,水平自然就会提高。然而,所谓的《刻意练习》(也是一本书),不是简单地重复,而是要给自己阶段性的设定更高的目标,这样才会持续地进步。

比如,我现在已经能比较流畅地写作,我就会去追求如何把文章写的更加引人入胜。在《风格感觉:21世纪写作指南》里面提到一篇文章,它的开头是这样写的:“我们都会死,我们是幸运的...”,像这种冲突感和悬念,就会很自然地吸引读者继续阅读下去。

我这篇文章也借用了同样的手法 :)

迭代优化

写文章和写代码有非常多相似的地方。我会经常拿写文章和写代码做类比。比如,文章和代码都需要结构清晰。又如,好的系统不是设计出来的,是迭代出来的。好的文章也是如此,需要不断的打磨、修改,我的很多文章都是经过多次修改,重新编排结构,补充删除信息,调整措词,直到我觉得满意为止。

就拿现在这篇文章来说,也是修改了好几版,第一遍的时候内容很散点,结构也不清晰,有点纠结,不知道要如何写下去,后面想到一个“以身作则”的方法,即这篇文章本身应该就可以作为一个sample来介绍如何写文章。带着这个思路,迭代几次之后,就逐渐成了一篇像样的文章了。

所以,重要的是要敢于去“动笔”,不要担心一开始的粗枝大叶,万事开头难,写着...写着... 你就有感觉了。

相关文章
|
1月前
|
前端开发 JavaScript 测试技术
前端工程师的必修课:如何写出优雅、可维护的代码?
前端工程作为数字世界的门面,编写优雅、可维护的代码至关重要。本文从命名规范、模块化设计、注释与文档、遵循最佳实践四个方面,提供了提升代码质量的方法。通过清晰的命名、合理的模块划分、详细的注释和持续的学习,前端工程师可以写出高效且易于维护的代码,为项目的成功打下坚实基础。
37 2
|
7月前
|
分布式计算 程序员 数据库
如何写出更优雅的并行程序?
【4月更文挑战第13天】如何写出更优雅的并行程序?
|
存储 编解码 监控
一文详解|如何写出优雅的代码
和大家一起探讨一下优雅代码
120553 20
一文详解|如何写出优雅的代码
|
设计模式 算法 前端开发
如何写出高质量代码
如何写出高质量代码
|
设计模式 新零售 供应链
一文教会你如何写复杂业务代码
这两天在看零售通商品域的代码。面对零售通如此复杂的业务场景,如何在架构和代码层面进行应对,是一个新课题。针对该命题,我进行了比较细致的思考和研究。结合实际的业务场景,我沉淀了一套“如何写复杂业务代码”的方法论,在此分享给大家。
28672 1
一文教会你如何写复杂业务代码
|
设计模式 Java 程序员
理论与实践:如何写好一个方法
鉴于团队越来越强调开发规范,本人被diss了很多次,haha,为了改变这一现状,总结了一些提升方法代码质量的方法。个人认为一个好的方法主要表现在可读性、可维护性、可复用性上,本文通过设计原则和代码规范两章来讲解如何提高方法的可读性、可维护性、可复用性。这些设计原则和代码规范更多的是表现一种思想,不仅仅可以用在方法上,也可以用在类上、模块上。下面通过具体的例子来讲解。设计原则单一原则单一职责解释是一
73 0
|
存储 缓存 分布式计算
如何写出一篇好的技术方案?
在写某个项目的技术方案时,来来回回修改了许多版,很是苦恼。于是,将自己之前写的和别人写的技术方案都翻出来看了几遍,产生了一些思考,分享给大家。
789 0
如何写出一篇好的技术方案?
|
前端开发 程序员
程序员如何写出技术好文?
程序员如何写出技术好文?
|
程序员
程序员,如何写好文档?
程序要要不要写文档?为什么要写文档?如何写好文档,讨论如下。
4891 0

相关实验场景

更多