版面里"自学别光看教程,去给开源挑刺"那帖我顶了,挑刺确实是上手的好法子。不过后来我觉得,比挑刺再往前走一步是照着仿写,把热门项目当免费教材,先通读它的源码,再自己撸个迷你版出来。
严格来说
前阵子重读了 uv 的源码,astral 用 Rust 写的 Python 包管理器,star 快十万,可核心 resolver 也就几千行。读的时候才发现人家处理依赖冲突的回溯算法,比教科书上的例子务实太多。读完我就照着写了个三百来行的玩具版,只支持锁定单一依赖树,逼着自己把每个模块为什么这么拆想清楚。这比看文档、刷课记得牢,文档只讲怎么做,源码才讲为什么非得这么做。
最妙的是把它也开源扔出去,哪怕只是粗糙的 demo。真有人提 issue 说你这儿并发处理有问题,那种反馈是任何教程给不了的。读、写、改这个循环转起来,技术直觉才扎得下根。enfin,你们最近在读什么项目的源码?