寻找 TODOs:向开源项目贡献的一些建议
openkk 13年前
<div id="OSChina_News_26465" class="NewsContent TextContent NewsType2"> <p><img style="display:block;margin-left:auto;margin-right:auto;" alt="寻找 TODOs:向开源项目贡献的一些建议" src="https://simg.open-open.com/show/1be85215e1e8a7daf37e100c6e5abcf8.jpg" width="400" height="363" /></p> <p>常常有人跟我讲他们想参与贡献开源项目,但是不懂如何入手。我这里有一些建议:<br /> <span style="font-family:courier new,courier;color:#0000ff;">git clone repository_url_of_some_open_source_project target_directory</span><br /> <span style="font-family:courier new,courier;color:#0000ff;">grep -RIn TODO target_directory/*</span><br /> <br /> 找 到你感兴趣的项目,用 SVN/Git/Mercurial 等工具把代码拉下来,然后用grep命令找出源代码中的 TODO 标记的地方。“-RIn”参数告诉grep做递归查询(-R),跳过二进制文件(-I)并且把行号返回在结果中(-n),就这么简单!在返回的结果中,挑 选你感兴趣又力所能及的就可以动手了。<br /> <br /> TODO 和 Bug 不一样。Bug一般是由用户提交的,外部可见的一些问题。而TODO一般是开发者自己标记的,代码中可以改进的地方,由于时间关系没有来得及做。 TODOs 常常被遗忘,因为没有一个正式的系统来跟踪这些TODO的后续情况。下面的表格列出了 GitHub 上最受关注的15个项目的 TODO 情况:<br /> </p> <table border="1"> <thead> <tr> <th>Project name</th> <th>Number of TODOs</th> </tr> </thead> <tbody> <tr> <td>bootstrap</td> <td>7</td> </tr> <tr> <td>nodejs</td> <td>904 (many of these are v8 TODOs)</td> </tr> <tr> <td>rails</td> <td>77</td> </tr> <tr> <td>jquery</td> <td>7</td> </tr> <tr> <td>html5-boilerplate</td> <td>2</td> </tr> <tr> <td>homebrew</td> <td>22</td> </tr> <tr> <td>spoon-knife</td> <td><br /> </td> </tr> <tr> <td>impress.js</td> <td><br /> </td> </tr> <tr> <td>backbone</td> <td>4</td> </tr> <tr> <td>diaspora</td> <td>16</td> </tr> <tr> <td>three20</td> <td>25</td> </tr> <tr> <td>devise</td> <td>2</td> </tr> <tr> <td>jquery-mobile</td> <td>60</td> </tr> <tr> <td>three.js</td> <td>43</td> </tr> <tr> <td>express</td> <td>3</td> </tr> </tbody> </table> <p><br /> <br /> 当然,有些项目可能没有 TODOs,但是通常来讲去解决开源项目中的 TODO 问题是一个不错的想法。</p> <p> </p> <p><a href="/misc/goto?guid=4958331890843488223" target="_blank">原文链接</a>,OSChina 原创编译</p> </div>