常常有人跟我讲他们想参与贡献开源项目,但是不懂如何入手。我这里有一些建议:
git clone repository_url_of_some_open_source_project target_directory
grep -RIn TODO target_directory/*
找到你感兴趣的项目,用 SVN/Git/Mercurial 等工具把代码拉下来,然后用grep命令找出源代码中的 TODO 标记的地方。“-RIn”参数告诉grep做递归查询(-R),跳过二进制文件(-I)并且把行号返回在结果中(-n),就这么简单!在返回的结果中,挑选你感兴趣又力所能及的就可以动手了。
TODO 和 Bug 不一样。Bug一般是由用户提交的,外部可见的一些问题。而TODO一般是开发者自己标记的,代码中可以改进的地方,由于时间关系没有来得及做。TODOs 常常被遗忘,因为没有一个正式的系统来跟踪这些TODO的后续情况。下面的表格列出了 GitHub 上最受关注的15个项目的 TODO 情况:
bootstrap 7 nodejs 904 (many of these are v8 TODOs) rails 77 jquery 7 html5-boilerplate 2 homebrew 22 spoon-knife impress.js backbone 4 diaspora 16 three20 25 devise 2 jquery-mobile 60 three.js 43 express 3
当然,有些项目可能没有 TODOs,但是通常来讲去解决开源项目中的 TODO 问题是一个不错的想法。
原文链接,OSChina.NET 原创编译