在写完"当前的学习与写作"一文后, 我开始实践自己的思考. 第一处实践是学习 Golang 的 log 模块. 在学习的过程中, 我发现一个问题, 对于这一专题, 网上已经有很多非常完整, 带有丰富示例的文章了. 我作为第一次学习, 学习笔记是非常粗浅简陋的, 这种情况怎么办?
这种情况似乎有悖于我在"当前的学习与写作"一文中对于"点"的要求. 这篇文章是站在一个理想角度来写的, 但从实践中发现实践与理想似乎有些矛盾.
具体想来, 都有哪些矛盾呢?
首先是我对 log 模块的学习期望: 我并不是向一次性弄明白它所有的边边角角, 我目前只需要它最最基础的一点点功能, 能让我把 log 输出到文件里就行了. 在这个基础之上做出的努力, 反而会影响我的 SideProject 的进度.
我是想要留下笔记的: 虽然只学到了一点毛皮, 但是我最起码搞明白了 log 模块里有哪些核心的东西, 以及它们如何调用. 这些知识我必须要把它们记录下来, 以防自己未来忘记, 也方便自己未来查阅时不必再去网上找.
从以上的思考中可以看出, 不仅写好一个系列难, 想写好一个点也是不容易的.
当然, 我目前的客观环境也是不容忽略的: 我目前在做一个 SideProject, 学习的目标是研究 DHT 库, 这个 log 模块并只是一个必经的次要目标. 从这件事情中可以看出, 人在做事的时候会同时有多个关注点, 有的是主要的, 有的是次要的. 在这件事情里, DHT 是主要的关注点, 我相信在基于 DHT 库的程序写好后, 这个点是一个非常出彩的点.
像 log 模块这种的点, 它对于很多项目都是必须的, 但它有很难以成为一个主要目标 (除非我打算自己二次开发一个 log 库). 对于这种的关注点, 不放就先写一个简陋的上去, 然后就像一个 wiki 一样, 每有所得就加上去, 日积月累, 相信最终会成为自己理想中的点.
基于前面的思考, 我发现写作 (笔记) 的动机是不同的, 似乎已经能够梳理出几种来?
我将它们分为如下几类:
说明性质的文章, 例如函数库的介绍使用. 没有什么自己原创的东西. 这种类型的文章, 它的优劣主要在两个方面: 一个是全, 一个是结构合理.
这种性质的文章在实践上, 一开始就从最简陋的开始, 先满足自己的需求. 然后随着实践的增多, 每有所得时逐渐向上添加内容, 直至最终羽翼丰满.
例如做一个 SideProject, 照着书写一个 Demo, 总之是动手去做了一些事情. 当这些事情完成时, 总能收获到一些书中没有的, 自己悟出来的东西.
这种经验是极为宝贵的, 应当耐下心来细细推敲, 一次性写出符合"点"的理想要求的文章. 这种文章往往一气呵成, 之后很少改动.
这种文章很像大学时写的实验报告, 或者实践论文.