前言
很多同学的进阶都是从写文章开始的,没错,说的是我。
不可否认的是,好的文章能够帮助一些背景不那么出色的同学面试加分,好吧,也是我。
今天我来和同学们分享一下,如何去写好一篇技术文章。
目录
一、写文章之前
1. 明确目标
我们写文章通常会有两种:
- 分享:提供快捷通道面向有同样需求的开发者。
- 复习:仅为了自己复习,我不建议将这类文章发表到博客平台。
为什么我不建议将复习的文章发表到博客平台上?
因为当我们阅读到这类文章的时候,有时不能够明白作者的意图,只有作者自己能懂,对于此类文章,我的建议是将他们放在笔记平台上,比如印象笔记。
2. 明确类型
通常的技术文章题材有:
(1)技术介绍型
一般用来介绍最新新出的技术,比如 Android 中的 Android Jetpack 和 Flutter,风格有点类似于技术文档。在我们学习了某项技术,并有了使用的经验之后,就可以着手来一篇,它通常面向的是此类技术的小白。比如我的即学即用Android Jetpack系列:
《即学即用Android Jetpack – Navigation》
(2)技术深入型
这类文章通常是从原理的角度深入分析某项技术,面向的是想要进阶的一群人。比如郭神的:
《Glide最全解析》
(3)解决问题型
通常是遇到问题的解决方案,此类文章面向的是同样遇到此坑的开发者。
二、写文章之中
即使明确了写作内容,有的时候电脑打开了,还是不知道如何写…
1. 拟定标题
先从标题开始吧,有如下几个要求:
(1)标题不要太宽泛
比如你想写一个RxJava系列的文章,于是你定了一个《一文搞懂RxJava》,结果你就写了一个RxJava操作符怎么用,下面保准给你来个评论:???
如果实在想将标题定的宽泛些,那我们该怎么办呢?
可以将文章写成一个系列,这样既可以保证每一篇的篇幅,让读者读的舒服,也可以实现自己的想法。
(2)不要标题党
看过很多标题党,比如(无意冒犯):《Java那么多锁,能锁住灭霸吗?》。
作为一个写博客的人,标题党确实用时一时爽,不过,如果文章的内容不能够让人信服,被拉黑也是再所难免的。
从短期来看,一个好的标题确实能提升阅读量,但是站在长期的角度,大家之后搜索出相关的锁文章,比起《Java那么多锁,能锁住灭霸吗?》,更愿意看到《Java中的锁[原理、锁优化、CAS、AQS]》。
所以,我们尽量选择一个简短的题目,并且要从题目中可以看出,我们要介绍什么知识。
2. 使用前言和目录
使用前言的意图在于告诉读者本文的大致方向,让读者读完前言以后就知道这篇文章适不适合自己。
如果可以的话,也可以用脑图制作一些目录,像本文中的目录。
这样,文章的脉络就一目了然了。
3. 列个提纲
最好举的例子就是介绍新技术的时候,比如介绍 Android Jetpack
:
Android Jetpack
是什么?- 为什么使用
Android Jetpack
? Android Jetpack
对应哪些库,每个库具体的功能?
提纲写好了,就不至于文章写到一半写不下去了。
4. 写作手法
记得小学写作文的时候,老师经常念叨,如果不知道如何写作文,总分总就是一个很好的方法,比如说,我们去介绍某一项技术的时候,可以这么写:
- 开头(总):这个技术是一个什么样的技术,可以给我们带来什么?里面的主要功能是什么?
- 介绍(分):这个技术每项功能如何使用。
- 总结(总):这个技术使用的优缺点,在具体的实践中如何帮助我们。
除了总分总,还有一种常用的套路是:
在文章的开始阶段先抛出问题,让读者去思考,接着,从回答问题的角度,如何去解决问题。类似的文章有:
《Android Bitmap的内存大小是如何计算的?》
5. 注意排版
一些同学的文章虽然技术深度达到了,但是排版却不尽人意,导致读者去阅读的时候一点阅读的欲望也没有。
如果你的文章有下列情形:
- 总是出现大段大段的代码或者文字。
- 使用几级标题全看心情。
- 中英文处理起来不太好看。
- …
可以参看阮一峰的:
《中文技术文档的写作规范》
当然,写文章并非写技术文档,可以根据自己的需求做一些修改。
三、写文章之后
文章写完以后,别着急发表,因为我们还有一些事情要做。
1. 从读者角度阅读文章
现在忘掉自己是一个作者,把自己当做一个读者,一步步的阅读,看自己是否能够从这些文字中掌握到这些技术,假设不能,你就应该去思考如何完善这篇文章了。
2. 检查文章
错字、病句和英文单词是经常发生的问题,所以当我们写好文章以后,需要至少再读一遍去避免这些低级错误。
3. 美化文章
也许你已经对博客平台上样式产生了一些审美疲劳,没关系,掘金和微信公众号的 Markdown(MD) 格式都支持 html
,帮助你的文章从外表给人一亮的感觉。
对于我这种前端菜鸡,html
写是不可能写的,有没有什么好的办法呢?当然有,可以借助一些第三方的网站,比如:Markdown Nice,它可以帮助你自动生成好一些美观的样式,之后CV到对应的博客的平台,本文就是这么操作的。