说个自己这两年摸出来的笨办法。好多人读开源项目,clone下来对着源码从头啃,啃两天就放弃了——没目标感,不知道这段代码到底给谁用、边界在哪。我后来换了路子:不干读,先去给它补测试用例。
写测试这件事,逼着人把接口契约和边界条件先想明白。函数接什么、拒什么、异常怎么处理,搞不清楚就写不出能跑的断言。比起漫无目的翻代码,这种带目标的读,效率真不是一星半点。
挑活也有讲究。GitHub那些good first issue,筛带test、文档类的活儿,难度低、反馈快,PR合了还能混个contributor标签。顺手把示例和文档也补了,教别人的过程自己反而记得最牢,教学相长这话不是白说的。
从某种角度看,给开源出力不一定要写多牛的功能,把地基打稳也是在帮忙。