人生若只如初见

WXY

让技术博客脱颖而出的秘诀

2024-04-25

我想解释一下为什么我 “我最喜爱的技术博客” 页面中的博客深得我心。需要注意的是,该页面仅关注非公司类技术博客,因此本文亦是如此。对于我最爱的公司类技术博客,我可能还需要单独列一个清单。

简而言之,我喜欢的技术博客会做到以下几点:

深入探讨艰深复杂的主题

编程和计算机科学中存在许多问题,即使是知识渊博的程序员有时也会对此含糊其辞,或 resorting to 陈词滥调或群体思维,因为他们自己也拿不准。

这些难题恰恰是最值得深入研究的主题。而我喜爱的博主们正是擅长于此。

他们会撰写关于磁盘和文件系统持久性保证的文章,也会讨论性能基准测试中的常见陷阱,还会讲解数据库一致性异常,以及线程和 IO 模型等主题。

更重要的是,他们会通过展示具体的例子和逻辑来解释这些内容,帮助读者学着用批判性思维看待这些问题。

通过阅读他们的文章,你可以建立实用的心智模型,并将其应用于自己遇到的问题。

当然,有时文章的主题本身可能并不晦涩难懂。优秀的作者善于用新颖的视角来诠释看似枯燥的主题。他们或许会深入挖掘事物的根源,或揭示鲜为人知的幕后故事。

此外,我喜欢的博主们并不总是一副无所不知的样子。他们也会坦承自己不知道的东西,并向读者寻求帮助。

展示可运行的代码

我喜欢在文章中看到完整的可运行代码。很多项目起初都很简单,博主们会撰写一篇概述项目概况的文章。但随着项目逐步复杂化,再去跟踪代码提交就变得困难重重。

Eli Bendersky 和 Serge Zaitsev 在这一点上做得尤其出色,他们经常在单个博文中或短系列文章中开发小型但意义重大的项目。

另一方面,如果所有人都只做这种类型的文章,那么我们就无法了解像 V8 或 Postgres 这样的大型长期项目是如何开发的。因此,这种风格也有一定的局限性。对于那些讲述长期项目却未展示代码的文章,我并不会因此而降低对其评价。

化繁为简

优秀的作者能够将复杂的概念用简单易懂的方式表达出来,而不仅仅是简化内容。当然,在教育的场景下,适当的简化有时也是必要的。

与之相反,我经常看到一些经验尚浅的作者的文章,他们把原本简单的主题变得晦涩难懂。我对此感同身受,因为 5 年前甚至 10 年前的我也曾这样写过文章。

定期更新

我喜欢的博客通常会做到每月至少更新一次文章。像 Murat 这样的博主,他们甚至会做到每周更新一次。

我认为坚持写作可以提高写作水平,但对我而言,更重要的是,定期更新的文章能够保持我的阅读兴趣。

讨论权衡和利弊

没有什么比谈论你所创建的东西的缺点更能建立信任了。没有完美的项目,忽视缺点只会让人觉得你不知道或不理解这些问题。

因此,我最喜欢的博主们会将做出的决策置于特定情境下来讨论,既会讲到项目的优点,也会讲到缺点。

避免网络俚语、表情包、脏话、讽刺和谩骂

说实话,想要讨论这个问题而不显得矫揉造作实在太难了。

我注意到,尤其是在年轻的技术同行们中间,经常使用表情包、脏话、 4chan 论坛的俚语或讽刺的语气来写作。10 年前我也曾经这样写过文章。

的确有一部分读者不会介意这些,但问题在于,也有一部分 (潜在的) 读者肯定会介意。甚至还有一些读者可能不会介意,但他们 simply 不理解 (例如非英语母语人士)。

我有一些朋友和尊敬的人,他们的写作水平很高,但文章的语气过于刻意标新立异或尖锐。我并不喜欢分享这样的文章,因为我不想冒犯或劝退他人。

结语

如果每个人都用同样的方式写作,那就太无趣了。我很高兴互联网上存在着充满乐趣和怪诞想法的内容。但我只想分享一些我喜欢的技术博客所具备的特质,这些博客是我经常向他人推荐的。

本文使用 gemini 翻译自英文原文What makes a great technical blog