寻找 TODOs:向开源项目贡献的一些建议

常常有人跟我讲他们想参与贡献开源项目,但是不懂如何入手。我这里有一些建议:

git clone repository_url_of_some_open_source_project target_directorygrep -RIn TODO target_directory/*

找到你感兴趣的项目,用 SVN/Git/Mercurial 等工具把代码拉下来,然后用grep命令找出源代码中的 TODO 标记的地方。“-RIn”参数告诉grep做递归查询(-R),跳过二进制文件(-I)并且把行号返回在结果中(-n),就这么简单!在返回的结果中,挑选你感兴趣又力所能及的就可以动手了。

TODO 和 Bug 不一样。Bug一般是由用户提交的,外部可见的一些问题。而TODO一般是开发者自己标记的,代码中可以改进的地方,由于时间关系没有来得及做。TODOs 常常被遗忘,因为没有一个正式的系统来跟踪这些TODO的后续情况。下面的表格列出了 GitHub 上最受关注的15个项目的 TODO 情况:

Project nameNumber of TODOsag游戏大厅注册|平台bootstrap7nodejs904 (many of these are v8 TODOs)rails77jquery7HTML5-boilerplate2homebrew22spoon-knifeimpress.jsbackbone4diaspora16three2025devise2jquery-mobile60three.js43express3

当然,有些项目可能没有 TODOs,但是通常来讲去解决开源项目中的 TODO 问题是一个不错的想法。




    延伸阅读