如何写好技术文章

2017/08/24 Misc

这是搬运的一篇我的破乎回答,题主是魔理沙。

正文

谢题主邀请,我的文章目前只有很少的人看而且大多数都是我的好朋友,他们跟我说我写的还不错。

那么我说下我写文章的路子。 首先要有一个想写的东西,这种东西有可能是义务性地写(我博客的Kotlin/IntelliJ系列文章), 有可能是突然有了新发现而写(矩阵快速幂斐波那契的矩阵数量与参数的谜之函数关系等) 有可能是总结经验和踩坑记录,记录思想而写(解释型语言作用域实现等), 有可能是自己写出了优雅有趣的东西而写(函数式 dfs 等)。

这基本就是我写文章的全部契机,可以看到我不会为了观众写文章,我是出于自己开心的目的而写,然后才是让读者能够看懂。不然写着写着就不想写了。

其次,我是个很爱幻想的人,我经常在脑中想象,我作为一个演讲者,给一群比我小的孩子讲怎么编程,然后就涉及很多比如如何组织语言, 如何让他们更直观的理解概念,等。 这样的思考有助于让人说话更富有逻辑性,我的班主任每次遇到说话扯不称头的人都会嘲笑他, 如果我哪一天能成为值得尊重的,开玩笑不会被记恨的人,我也会这样的。

最后就是写的时候,不同的文章有不同的写法。

比如我写过的 MPS/IntelliJ 系列,就有大量截图来确保读者操作跟我一致 (而不是给出按键的步骤和用语言描述操作方法,歧义非常严重), 而且就算软件版本更新,按钮位置变化,稍有常识(迫 真)的人也能根据旧版本的截图来摸到新版本的操作方法。 而 Kotlin 教程等涉及语言的,就需要代码示例,尽可能写那种只体现一个语言特性的例子, 不然读者会困惑,比如你跟读者讲啥是 extension ,然后代码用例里面搞一堆操作符重载,读者会嘤嘤嘤的。 再者,外部链接作为参考和拓展阅读是好的,但是要求必须读的话,可能会让一些时间少的读者望而却步。

我写博客还有一些注重的地方。 比如,文章开头写,为什么我们需要 xxx ,为什么我选择 xxx 语言。文章结束写,你学到了什么。 这些东西有助于读者系统地整理刚刚阅读获得的东西,也有助于写作者本身对自己进行反思。

大概来说就是这样。

我现在写东西的文风和2016年截然不同,以前写东西还经常穿插一些无意义的嘤嘤嘤来掩饰自己实际上也不是很清楚自己在写什么的事实, 但现在这种情况已经有了明显的改善,虽然废话最好还是有一些分布的,但是应该做到适度。 比如我现在正在啃vczh的博客, 他也会写一些情绪性的东西和少量废话,但我觉得读起来就比我去年的技术博客更轻松愉快。 我自己读自己的博客也有这种感觉其实,但我真的没法评判自己写的东西的优劣,这不是我吹自己牛逼,我只是说我自己纵向对比觉得有很多提升。

最后说说错误,我经常因为脑子发生 segmentation fault 或者 StackOverflow 而写错,但几乎没有人给我纠错。 这就证明很多人看你的文章还是路人式的,所以遇到

@vczh @施昊 @湛忠胜 @Eldath 以及@李登淳

这种真正会在读完后和你进行内容上详细的讨论的读者我会很开心, 而且遇到一个关注一个。他们不少也是作者,我也是他们的读者,形成相互学习的关系后,就有了很纯粹的友谊,这也是我十分重视的。

大概写这么多,莎莎如果还有想问的可以评论区留言,我会补充。

End

我觉得写的还不错,发一下博客。


本文没有打开评论。
You can't leave comments in this post.


Search

    Post Directory



    如果觉得这篇文章给您带来了收获或者说它值得您这么做,您可以选择对我进行捐助。
    下面是微信支付哟