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

所以,下次当你发现自己欣喜若狂地解决了问题时,记下一些快速笔记。下次当你遇到真正有帮助的资源时,复制链接。几乎更重要的是,记下你下次谷歌搜索的简单语法。拥有一份自我整理的文档,其中包含最常应用于你的开发过程的快速查找内容,这是非常宝贵的。随着时间的推移回顾它,并认识到你学到了多少,这是一个额外的奖励。
9 条评论