计算机科学领域工作最棒的部分之一就是我们的工作重心在于解决问题。虽然我们许多人会开玩笑说,不断努力解决问题令人沮丧,但我们这样做是因为没有什么能比得上找到解决方案的感觉。当然,短暂的兴奋过后,我们又会转向下一个问题。
我们希望我们的解决方案是另一个数据点,推动我们成为更成功和更有效的工程师。但是,当我们遇到旧问题,一个我们已经解决过的问题,却不记得在哪里找到允许我们解决它的那一点点信息时,该怎么办?成为一名工程师常常感觉有点像在过《土拨鼠之日》,总是身处一个你明知道以前已经解决过类似问题的地方。我的解决方案是开发者日志。
开发者日志的益处
开发者日志背后的理念是,在执行任务时做相关的笔记可以帮助未来的你。科技行业要求我们不断学习新技术,加深理解,并能够处理对某种工具的快速、一次性使用——这一切都是这项工作的一部分。拥有日志可以帮助您跟踪您的学习。即使您只是短暂地使用某个工具,下次使用该工具时能够参考您的日志也可以限制肌肉记忆的丧失并提高您的回忆能力。然而,这并不是它唯一的益处。
爱因斯坦的建议是“永远不要记住你可以查到的东西”,这是许多工程师铭记于心的概念。选择不记住东西可能会腾出我们大脑中的一些空间,让我们专注于更宏大的问题。然而,当我们查找东西时,我们正在消耗时间和精力,并将自己从开发流程中抽离出来。开发者日志允许我们在记住一切和每次遇到都查找之间取得平衡。如果您要查找的内容是用您自己的语言写成的,并且可以轻松访问,那么您作为工程师的生活就会变得更加轻松。
开发者日志的最终好处之一是士气。我们往往看不到我们日常的进步;只有当我们回顾一段时间时,我们才会意识到自己成长了多少。拥有成长的有形体现是一件美好的事情。也许您在一年前写下了一些东西,现在不再需要参考了。也许您已经从更简单的任务发展到更复杂的任务,或者掌握了以前几乎无法理解的技术。开发者日志是您所做一切的绝佳历史记录。
开发者日志的类型
开发者日志是个人化的,但它们通常包含解决方案、笔记、有用的技巧以及指向资源的快速链接的混合。因为它们是为了适应个人偏好而制作的,所以它们可以采用许多不同的形式。
例如,它们可以是离线的(例如,纸质书写日志)或在线的。数字日志内容可以使用 Markup 或其他工具格式化,如果您喜欢,也可以使用纯文本。日志可以按时间顺序或按主题组织。最后,日志可以是公开的或私有的。
使用任何使您的日志最易于访问和使用,以便记录内容并在需要时查找内容的解决方案。幸运的是,有很多令人难以置信的开源工具可以用来方便您的开发者日志,例如各种Linux 日志应用程序、类似 Evernote 的应用程序和命令行笔记应用程序。
日志中应该放什么
如果您不确定在开发者日志中包含什么,请考虑您经常使用或作为参考的资源类型。日志可能包括代码片段或指向存储库中特定行的链接。常见做法是放置指向特别有用的博客文章或教程的简单链接。我最有帮助的条目之一是我用来将固件刷入板载的流程的简要说明。
这是一个来自我的开发者日志的快速示例。去年,我注意到我经常使用的一个进程会卡住。我一直忘记在终端中手动杀死它的命令,所以我把它写了下来。以下是我的日志条目的屏幕截图。它是纯文本、离线可用且未格式化的。它很简单,并且对我有效。我的日志的时间顺序对我帮助很大,因为我倾向于记住我上次需要答案的时间,即使我不记得答案。

因此,下次当您发现自己为解决问题而欣喜若狂时,请写下一些快速笔记。下次当您遇到真正有帮助的资源时,请复制链接。几乎更重要的是,记下您下次谷歌搜索的简单语法。拥有一份您自己整理的快速查找内容文档,这些内容最常应用于您的开发流程,是无价的。回顾过去,认识到自己学到了多少,这是一个额外的奖励。
9 条评论