给 Markdown 程序员的写作能力提升指南

前言

最近完成了一次多次打磨的技术分享,在准备分享和进行分享的过程中,遇到了很多问题,而造成这些问题的根源,就是自己日渐低下的写作水平和表达能力。

在本篇文章中,我会先基于自己的看法,分析写作能力对程序员的作用,然后基于自己的参考和实践,给出一个比较标准的程序员写作的套路,最后给出一些常用的辅助程序员写作的软件,并分析这些软件的特点。

写作能力真的有用吗

很多工科的学生会认为写作能力对个人水平的提升没有什么实际作用,甚至会调侃『代码写得好的,不如 PPT 讲得好的』。在参与工作这几年中,我对这些观点也越来越不赞同。

首先,写作能力的提升有利于提升人的结构化思考能力。
写作是给人看的,写代码是给人和机器看的。是的,一份好的代码,首先需要具有可读性,如果一份代码可读性很差,甚至已经无法维护,那么这份代码的价值就会大打折扣。
一篇好的文章,应该有清晰的层级和流畅的文笔,同样,一份好的代码,也应该有统一的命名和明确的流程。如果一篇文章的层级关系很不明确,各个章节中的衔接也非常生硬,那么这篇文章的读者在阅读的时候就会有一种云里雾里的感觉。
如果一个程序员脑海里对某个代码逻辑思考充分,那么他在编写这段逻辑的代码时也会行云流水。类比一下写作,如果一个程序员对他的文章里要表达的内容了如指掌,那么他写出来的文章也不会晦涩难懂。

其次,写作能力的提升有利于言语表达能力的提升。
我很多时候会提笔忘字,就像我在跟别人讨论问题的时候会语无伦次一样。这个时候我可能会说,等我在聊天工具上组织好语言再以文字的形式发给你。
当我在聊天工具上组织语言的时候,我会发现,经过多次的改动和校正,我终于将自己要表达的意思完完整整地正确表达了出来。
是的,言语表达不清楚的时候,使用文字依然很难表达出来。但又因为文字表达的场景要求通常比言语表达要低很多,所以我们可以通过锻炼文字表达能力来间接性地提高自己的言语表达能力。

最后,写作能力的提升有利于程序员学习知识的落地。
很多优秀的程序员都有写博客的习惯。写博客能加深自己对知识的了解,并让知识更好地沉淀。俗话说好记性不如烂笔头,而博客通常就是程序员最好的烂笔头。
但我们有很多的程序员没有写博客的习惯,或者说坚持不下去。我认为坚持不下去的最主要原因是:不想让别人读到这么烂的文章,降低自己在别人的形象。
如果因为害怕曝光而不写作,那么写作能力就会恶性循环地下降。如果我们能逐渐提升自己的写作能力,那么写出来的博客的质量自然也会慢慢提高,此时自己写博客的习惯也能建立起来。

程序员写作的套路

现在 Markdown 在程序员中已经非常普及了,很多人平时的文档和笔记都使用 Markdown 完成。我自然也是一个 Markdown 重度使用者。在多年的 Markdown 写作中,我总结出一些自己的经验和教训。

第一,在创作的时候不要注重排版。
正在文思泉涌的时候,最好就疯狂输出文字,至于排版这些稀碎的小事,可以在草稿完成后再进行处理,如果在创作的时候将太多的时间花在处理排版上,很有可能思绪会被打断。

第二,不要使用太多的 Markdown 语法。
我以前特别喜欢使用 Markdown 的语法,例如 code 斜体 强调,还有各种大大小小的标题。当我回过头来阅读我之前写过的 Markdown 文章的时候,我发现越是标题层级复杂的文章行文越不流畅。标题的插入,某种程度上会让文章的上下文衔接变得不自然。

第三,要对写作这件事情多加练习。
对于很多高中毕业已经五六年的人来说,重拾写作这件事情本来难度就不低。如果让我将我写出来的所有的文字,所有的笔记都分享出来的话,估计有很多人会笑掉大牙。但因为惧怕曝光就不进行写作是不对的,越是惧怕写作,写作能力下降得也会越厉害。我现在会每周强迫自己进行至少 2000 字的写作,这些文字很有可能只保存在我自己的网盘中,如果有特别值得分享的,或者写得特别好的,我才会分享出来。

工具分享

Markdown 写作工具层出不穷,花样繁多。每个人可能都有自己偏好的一些工具。在这里,我结合自己的使用经验和别人的推荐,分享一些常用的软件和工具。

VS Code + Markdown Preview Enhanced

VS Code 我大概不用介绍了,是一个文本编辑器,同时也是一个轻量级的 IDE。平常我会使用它进行 Markdown 文本创作。在创作的过程中,我不会使用太多的插件,一般就是把他当做一个纯文本的编辑器使用。在检索自己的资料的时候,会经常使用 VS Code 的文本搜索功能,很方便。

Markdown Preview Enhanced 是一个很著名的 Markdown 插件,我通过它在 VS Code 上渲染 Markdown 查看效果。当然它也支持很多原生 Markdown 不支持的功能,例如 puml 渲染,甘特图渲染等,但我最近没有在使用这些功能了,因为觉得使用文本画图效率不是太高。

MPE

坚果云

坚果云是为我提供了个人的云盘,Markdown 文件很小,免费版的坚果云流量限额已经完全足够。我自己有多台设备,我会在各个设备安装坚果云,并开启同步,基本能达到无缝切换的效果。如果我需要在手机上阅读和查找,手机的坚果云客户端也完全能满足我的需求。

nutcloud

iPic + persister

iPic 是一个图床管理器,支持将截图上传到图床,并直接给出 Markdown 的图片格式。免费版的 iPic 只支持微博图床,而微博图床经常出现 403 的情况,所以我自己写了一个程序,支持将 Markdown 文件的图片下载到本地,然后替换 Markdown 的图片链接,具体可以参考 persister

Draw.io

Draw.io 是一个开源的画图工具,基本功能跟 processon 类似,但是免费的,而且支持多种存储。我习惯使用它的桌面版客户端,然后使用坚果云提供的本地存储。画图结束后,我习惯输出 svg 格式的图片,然后在 Markdown 中引用。

drawio

写在最后

本篇文章算是这个月我给自己设定的目标之一。
通过落地本篇文章,希望能让自己养成一个坚持写作的好习惯,顺带提升自己的表达能力和结构化思考能力。
前路漫漫,未来可期。

参考文献

Share