码个蛋(codeegg) 第 975 次推文

作者:九心

链接:https://juejin.im/post/5ec29c16e51d454d9b12677f

前言

很多同学的进阶都是从写文章开始的,没错,说的是我。

不可否认的是,好的文章能够帮助一些背景不那么出色的同学面试加分,好吧,也是我。

今天我来和同学们分享一下,如何去写好一篇技术文章。

目录

目录

一、写文章之前

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到对应的博客的平台,本文就是这么操作的。

相关文章:

  • git命令的进阶和复习(带动图效果)

  • 如果郭德纲是个互联网人

  • 仿小红书长图片自动循环滚动效果实现 (附完整源码)

今日问题:

你的博客和大佬的差距在哪?

国内第一创作平台大佬,教你如何写好一篇技术博客?相关推荐

  1. 不花钱不费力,Hexo + GitHub 五分钟教你免费搭一个高逼格技术博客

    引言 作为程序员拥有一个属于自己的个人技术博客,绝对是百利无一害的事,不仅方便出门装b,面试时亮出博客地址也会让面试官对你的好感度倍增.经常能在很多大佬的技术文章的文末,看到这样一句话: " ...

  2. 手把手教你写高质量Android技术博客,画图工具,录像工具,Markdown写法

    前言 作为程序员,写博客是一件很有意义的事情,可以加深自己对技术的理解,可以结交更多的朋友,记录自己的技术轨迹,而且分享可以让更多的人从中受益,独乐乐不如众乐乐嘛. 但是要写好博客也不是件容易的事,一 ...

  3. 手把手教你用 VuePress 快速搭建个人技术博客~

    一.什么是 VuePress ? VuePress 是基于 vue 的极简静态网站生成器,实际上就是一个 vue 的单页应用,内置 webpack,可以用来写文档.详见 VuePress中文网 Vue ...

  4. 小熊的第一篇技术博客——机器学习绪论

    机器学习(一) 大三的时候学习了<机器学习>这门课程,作为一个热爱数学的工科女,这门课程让我知道了如何应用数学到人工智能这个领域以及数学确实能够给人类带来一些隐形的好处(可能有时候在推导不 ...

  5. 我的第一篇技术博客 —— 梦的开始

    梦的开始的地方 一.自我介绍 二.我编程的目标 三.如何学习编程 四.在编程上所花费的时间 五.最想进入的IT公司 一.自我介绍 首先先做个自我介绍,我是我一名大二双非本科在读,专业是网络工程,在高中 ...

  6. 0. 国内,首套,成体系,技术博客写作专栏发布啦

    橡皮擦,一个逗趣的互联网高级网虫,为你带来新职场故事,搬来程序员敲门砖. 作者嘚啵 der 这是一套技术博客写作专栏的概述篇 这篇文章从整体结构上告诉你,这个专栏要干啥 专栏的规划被群友念叨了半年,直 ...

  7. 3. 你也要写技术博客?这篇博客告诉你平台怎么选

    橡皮擦,一个逗趣的互联网高级网虫,为你带来新职场故事,搬来程序员敲门砖. 已完成文章 国内,首套,成体系,技术博客写作专栏发布啦 技术博客只能写技术文章吗?当然是由我们自己来定义. 为"她& ...

  8. 我的第一篇CSDN博客--微信小程序

    我的第一篇CSDN博客 产品定位及功能介绍 微信小程序是一种全新的连接用户与服务的方式,它可以在微信内被便捷地获取和传播,同时具有出色的使用体验 小程序注册 微信小程序是一种全新的连接用户与服务的方式 ...

  9. 第一期中国最受欢迎50大技术博客评选结果出炉

    第一期中国最受欢迎50大技术博客评选结果出炉 ZDNet软件频道时间:2009-10-12作者: | Zdnet软件频道 本文关键词:技术博客 由ZDNet发起的首届中国最受欢迎50大技术博客评选结果 ...

最新文章

  1. 用jackson封装的JSON工具类
  2. 从bsp redirect到ui5_ui5
  3. 欢乐纪中某B组赛【2018.12.22】
  4. couchbase_具有Couchbase,Java EE和WildFly的CRUD Java应用程序
  5. Python程序查找表示O(1)复杂度的数字所需的位数
  6. 有关DataVisualization类组件的研究——Silverlight学习笔记[43]
  7. 在CNN网络中1*1卷积的作用
  8. 电池供电设备增加高精度库仑计
  9. 【Small Problem In Work】word 大括号后面的公式对不齐的问题
  10. 高级软件工程师必备的五大技能
  11. 微信小程序在java后台获取用户unionid等敏感信息
  12. 关于H5移动端用什么自动化测试
  13. MonkeyPatchWarning: Monkey-patching ssl after ssl has already been imported may lead to errors
  14. FME大规模转换OSM PBF数据
  15. Java,哈希码以及equals和==的区别(转载)
  16. 外链代发,外链优化,高质量外链怎么做?
  17. 《Effective C++》学习笔记(条款25:考虑写出一个不抛异常的swap函数)
  18. Salesforce 能依靠Einstein在人工智能领域“突破重围”吗?...
  19. WINDOWS自带的扫雷游戏作弊方法
  20. xampp修改mysql密码_XAMPP环境下mysql的root用户密码修改方法_MySQL

热门文章

  1. 上班第一天(4)--一个程序员的成长史(13)
  2. zabbix tigger 设置
  3. python 02 --python从安装到学习精品网站(廖雪峰官方网站)
  4. 企业IT管理员IE11升级指南【8】—— Win7 IE8和Win7 IE11对比
  5. python奇数阶乘求和_Python阶乘求和的方法
  6. PS流(ISO13818和GB28181)分析
  7. 计算机微机原理心得体会,微机原理课设体会心得体会
  8. mac numbers 计算两个日期时间天数 DUR2DAYS
  9. 北大考研复试上机——W's Cipher
  10. PSPICE混沌电路的相图操作