美文网首页互联网科技
程序员笔记(知识)管理的一点经验

程序员笔记(知识)管理的一点经验

作者: 刀哥说Java | 来源:发表于2019-04-12 13:54 被阅读1次

记笔记这件事,也许在很多人看来,再普通、简单不过了——从小老师就教育我们要这么做。不同的人有不同的方式,我们最终的目的,还是希望不要停留在只是记录这一层面上,而是将它们转变为我们的知识。作为一个程序员,今天我跟大家聊聊我的一些笔记管理的方法,希望对大家有用。如果大家还有更好的方式,也欢迎留言一起探讨。

知识学习的路径

首先聊聊知识学习的路径。讲得宏大一点,我们得先有方法论。知识学习的途径可以分为以下几个阶段:

接触,可能来源于工作中遇到的一个问题,或者朋友的推荐,或者逛社区、论坛时看到的新鲜内容。在接触之前,我们并不知道,或者并不在意一个知识的存在,以及它是如何存在的。通过接触,它勾起了我们的好奇心,激发了我们的热情,吸引我们去实践。

实践,就是依照别人所描述的内容,或者自己个人的理解,动手去解决问题。只有经历过实践,才能摸清楚细节,才能更加具象、深刻地理解某项知识。而在实践的过程中,我们可能会遇到各种状况,别人未描述的或自己不甚理解的。通过各种其他手段,如查阅、咨询等,最终解决了问题,丰富了知识适用的场景及其内涵。然后我们就需要把实践的过程记录下来,形成我们自己的认知。

总结,就是用自己的话去描述同样一个知识。它的表述形式可能跟别人的不一样,关注的细节点也可能不一样。通过总结,形成我们认识事物的方式。这种方式继而会影响我们在后续的实践过程中的工作流程。一些较复杂的知识点也不是一次实践或总结就能准确理解的,也许有疏漏。在后续的工作、学习中,我们使用这些尚未完全的知识,遇到困难,又继续总结,形成一个反馈循环。直到达到一个较为满意的状态。这个时候,我们就可以考虑“为人师”了。

分享,就是把自己掌握的知识,用更多人能理解的方式讲述、传播出去。它跟总结的区别就是,不再是仅仅以个人能理解的方式去表达知识,而是要辅以通俗的语言、合适的图文来表达。让大家看到还有这样一种角度、思路,成为他们的知识接触点。

结构

这里我们讨论的知识的主要载体,就是笔记。根据知识学习的路径,我们可以对笔记进行分门别类。至少要单独列出分享这一目录。我常用的一级目录为:

分享:包含所有待分享或已分享的文章、素材,使用日期作为子文件夹或文件名前缀。

开发:包含开发相关的知识点,如语言、工具、操作系统、网络、中间件、架构等等

工作:包含各个公司、个人项目的工作内容与日常记录

至于一级目录以下的目录划分,可以根据每个人所侧重的知识面来安排。

工具

那用什么做笔记呢?市面上已经有很多笔记管理软件了,像 EverNote、有道等。不过作为程序员,我们手边的开发工具就能做笔记管理。这里我推荐用 Visual Studio Code。它是一款非常轻量的 IDE 工具,有强大的插件体系。它不光可以用来写代码,还可以用来写文档,尤其是 Markdown 文档。自带 inline 样式渲染,支持格式校验、自动排版(尤其是 table)、PDF 导出等各种功能,还有很多插件可供你选择。

Markdown,我想每个程序员都应该熟悉它的语法。其实核心的、常用的几个语法很简单,包括多级标题、多级列表、Code 等。像我写这一篇文章,用到的也就无非这些语法点,额外多了图片的插入等。根本不需要花多少时间。但是掌握它,不光有助于我们写文章,包括开发中写文档,都是非常有用的。像我们常用的 Github、Gitlab 里,都可以直接渲染 Markdown 文件,Issue 中也能支持 Markdown 语法。学会一招,吃遍天下。很有必要。

也许有的同学会有疑问,那岂不笔记都是本地存储了?这个问题很好。我们还需要一些工具,Git + Gitlab。将整个笔记目录加入 Git 版本控制,这样我们所有的笔记历史都能保存起来。然后,我们可以在 Gitlab.com 的个人账号上创建一个私有项目,同步我们的本地笔记到远端。这样,我们在公司使用公司的电脑,可以顺利地同步;手机端也可以使用浏览器访问 Gitlab 网址在线打开我们的项目,查看笔记。有了 Git 支持,即便多端修改产生冲突,也能很好地去解决。

扩展

用 VSCode + Gitlab 来管理我们的笔记,还有一个好处就是,这些笔记就是我们看得到的文件。那这里我们可以引申一下。把我们的笔记管理作为个人知识仓库,它里面还能包含各种可以执行的脚本(如 Bash、Python)。这些脚本是我们自己编写的、用来方便我们工作的。比如说我就写了很多类似 Git 周报、Gitlab CI 自动化等这样的脚本。它们不光能在我家里的电脑上执行,还能同步到我公司的电脑上,照样执行。而且执行的方式不会有什么变化,不需要额外下载、保存、授权等各项工作,这些都在同步过程中解决了。十分方便。

当然,以上方式也有一些弊端,比如图片不好处理,无法直接粘贴到文章里(也许有这样的 VSCode 插件呢?)。不过至少我个人用起来,还是很舒服的。也希望这些内容,能为大家产生一些”接触“点。

相关文章

  • 程序员笔记(知识)管理的一点经验

    记笔记这件事,也许在很多人看来,再普通、简单不过了——从小老师就教育我们要这么做。不同的人有不同的方式,我们最终的...

  • 程序员的知识管理

    前言 本文从一个程序员的视角来讨论知识管理,包括以下几个方面: 什么是知识管理 为什么要管理知识 如何管理知识 什...

  • 分类即知识

    在分答上学习《陈华伟-知识管理训练营》,现将电脑文件、笔记本笔记分类方法以及自己的实践经验分享如下: 分类 分类是...

  • 丙申年【猴年】庚寅月 乙亥日

    大问题 笔记 关于知识,分为经验和先天两种。 经验知识主要来自你和其他人的经验,比如人需要睡觉 吃饭 先天知识,区...

  • 知识:是经验的升华

    知识,是经验的升华(思维导图笔记) 知识,是经验的升华 著名的库博学习圈 从行动归纳出经验 把经验升华为规律 用规...

  • 知识管理笔记

    学习了陈华伟老师的《知识管理训练营》做的知识管理笔记。

  • 【越读·手抄】No.58

    No.58 什么是有记忆的选择?选择基于经验和知识,经验和知识是积累,变化的,所以选择也是逐步演化的。——《知识笔记》

  • IDP课程-L25 经验积累

    一、认识经验管理 经验管理,绝不是简单的记录、分类、归档。 经验是指人们通过日常实践和学习所获得的知识。 经验又可...

  • 你需要三个笔记本构建个人管理系统

    通过对各种自我管理、时间管理、知识管理的理论和观点的学习,我发现总有一点是他们共同的地方,就是都离不开做笔记,经过...

  • 技术团队启示录 top100实践案例

    大型研发团队的知识管理实践 就是把一些经验形成相关的知识点,发布在内部的知识管理平台, 并且形成老大重视知识管理、...

网友评论

    本文标题:程序员笔记(知识)管理的一点经验

    本文链接:https://www.haomeiwen.com/subject/oesfwqtx.html