我完全可以理解这一点。有很多事情我没有写,因为一个完整的 SO 答案,有几个替代方案,已经存在。但我意识到,根据使用工具的经验或非常具体的用例来描述解决方案的技术内容仍有空间。此类内容与 SO 的目标受众不同。它适用于希望解决非常具体问题的更有经验的开发人员。更有经验的开发人员不太可能首先发布问题,并且更有可能破解自己的解决方案。对于 Stack Overflow 来说,它也太小众了,因为它需要大量时间来研究并且通常取决于上下文。在某些情况下,Stack Overflow 的答案通常只提供解决方案的各个部分,然后您必须将它们拼凑在一起以适应您的用例。例如,我的博客在一篇描述如何在 Rails 上并行设置 Active Directory 和数据库登录的 5 年多前的帖子中获得了数千次点击。当我写它时,Stack Overflow 上有几个关于如何设置 LDAP 登录的答案,但没有一个涵盖了我的整个用例。解决方案或您学到的东西,因为您能够阅读源代码或文档
阅读文档和源代码是学习技能。如果您能够做到这一点,并且提出了解决方案,或者学到了有趣的东西,那么这就是值得写的。例如,我复制了 mysql2 gem 版本和 MySQL 服务器的兼容性列表,该列表仅在 mysql gem 的 rdoc 页面底部以点列表形式找到,我之前至少错过了 3 次。您想出的解决方案是因为您有足够的技能来覆盖或扩展库的一部分 凭借经验,您可以想出修改库的解决方案。这很有用,因为这意味着不必在代码中单独处理每个案例。相反,图书馆将能够始终如一地处理它们。在对工具有更多经验的同时,您一定会发现不那么明显的事情。它们可能被记录在案,但有副作用或不完全直观。其他人可能没有意识到这些事情,并可能认为他们的代码还有其他问题。一个经典(但众所周知)的例子是 JavaScript 的 atob 和 btoa。例如,我发现 MySQL 无法解析没有日期的 yyyy-ww 日期格式,并且在文档中没有明确提到的时间。即使文档确实提到现在我仍然偶尔会点击该帖子。当新工具发布时,针对初学者的教程通常并不那么充实。因此,如果您想尝试新事物,也可以为它们编写更好的教程。这可能是成熟的教程或只是特定的部分。
例如,当我尝试使用 Flutter 时,访问共享首选项和消息传递的教程不是很清楚。他们将几个不同的主题合并到一个教程中,但遗漏了一些常见的边缘情况。因此,我编写了有关在 Flutter 中访问共享首选项以及本机代码和消息传递的简单指南。在过去的两年里,他们已经获得了数千次观看。如果您总是忘记一些简单的事情,那么其他人也可能会忘记。所以,写下东西供您参考是有价值的。我的第一篇博文是如何向 Ubuntu 14.0 添加交换分区,虽然它可能不是最受欢迎的博文,但它对我来说仍然非常有价值,因为我总是知道该引用什么。随着您越来越有经验,您会想出自己的做事方式,这些方式可能不是公认的最佳实践,但对您有用。因此,如果您想写作,您可以根据自己的经验创作大量内容。写下非常具体的情况可能意味着如果你先到那里,一个问题甚至永远不会被发布。