Technology
为什么写#
这一栏的起点很朴素:避免重复踩坑。
很多问题在第一次遇到时,要翻文档、查论坛、反复试错,耗掉大半天。解决之后如果不记下来,几个月后遇到同样的问题,还是要从头再来一遍。所以我把走过的路标出来,写成能直接照着做的文字。
除此之外,还有三个更私人的理由:
- 写作是检验。 能写清楚,才说明真的弄懂了;写不清楚的地方,就是还没吃透的地方。
- 写给未来的自己。 第一读者永远是半年后已经忘了细节的我。
- 算法不会替我记住这些。 搜索结果千篇一律,而自己亲手验证过的经验,只有自己写下来才存在。
写什么#
这里不按题材划线,只看一件事:值不值得写。符合下面任意一条,我就会写下来。
- 花了很长时间才弄明白的。 过程越曲折,越值得留下。
- 官方文档没写清、或者搜不到好答案的。 不重复已有的好资料,只补它的缺口。
- 我知道自己一定会忘的。 步骤繁琐、隔很久才用一次的操作。
- 想通之后豁然开朗的。 重点是那条思路,而不只是结论。
- 亲手做出来的东西。 为什么做、怎么取舍、哪里还不满意。
所以题材并不固定。今天写什么,取决于我最近在折腾什么;以后写什么,取决于我又踩进了哪个新坑。题材会变,标准不变:亲手做过、真正用过、能说清楚。
怎么写#
给自己立几条规矩:
- 问题优先。 开头先说清楚「遇到了什么问题」,再给解法。
- 能复现。 写明环境、版本、前置条件,让别人(和未来的我)能照着走通。
- 记录弯路。 走不通的方案也写,并注明为什么走不通。
- 说明原因。 不只给命令,也解释每一步在做什么。
- 标注时间。 技术会过期,每篇都要能看出它写于何时、适用于哪个版本。
- 持续更新。 发现错误或有了更好的做法,就回头改,而不是另起一篇。
- 不搬运。 参考过的资料注明来源;没有亲手验证过的东西,不写成结论。
不写什么#
- 没有亲手验证过的转述。
- 追热点的资讯和评测。
- 为了凑数而写的泛泛教程。
最后#
这里不只是代码备份,也是一份思路的备份。每一篇都是我在这个领域留下的一个坐标,希望它对路过的人也有一点用。