设为首页收藏本站

LUPA开源社区

 找回密码
 注册
文章 帖子 博客

初学者指南:为开源做贡献

2014-4-3 15:10| 发布者: joejoe0332| 查看: 4884| 评论: 0|原作者: 腊八粥|来自: 腊八粥

摘要: 当我刚开始做Rails开发者时,我认为所有的Rails gems都是魔法。一些聪明人正在制作这些牛逼的类库让我使用!我不知道这些类库有多少可以使用,我认为它们是好的。它们运行着,并做了我需要它们做的工作。它们好像如此 ...


  修改一个README


  我可能想把Toast类库增加到我的iOS项目,但是他们在README没有提到有可用的CocoaPod。既然我只是想测试我项目中的类库,我想让它较为容易地移除掉。因此即使我以前使用过这个特定类库,也知道它好用,我开始为了另一个Toast类库而搜索CocoaPod。


  找了一些类库,我发现这个特定的Toast类库事实上就是CocoaPod!为了确保其他iOS开发者知道有可用的CocoaPod,我就CocoaPod安装说明提交了一个pull request到类库的README。小改动,但是希望对其他开发者有帮助!


  增加额外相同的功能


  在为CodePath最终项目构建Android app时,我的团队想尝试当前官方Android字体—Roboto。事实表明它在并入外部字体到Android时非常繁琐,因此,我们使用名叫RobotoViews的类库来解决。基本上,每个view不得不经过配置才能得到Roboto的typeface。


  然而,有一个我们需要的类库而RobotoViews没有包括进来—较新的Switch view。添加Switch view只需按照其它views的方式大量地拷贝/粘贴,因此它的添加不是太难,但是另一个view可以作为RobotoViews使用!


  换句话说,RobotoViews的作者已经做了所有艰难的工作使得只需要修改一些地方就可以添加一个新的view。


  类似的,我通过给流行的iOS Foursquare client library添加原来没有的一个额外功能来贡献力量,只是因为有了作者抽象这个过程的工作,这非常容易添加。


  重构


  当我注意到带有少量变化的三个函数有着相同的代码时,我给ECSlidingViewController添加了一个非常小的修改,来确保在滑动菜单滑出去时键盘隐藏掉。因此我重构了代码,产生一个函数,让三个函数仅仅通过传入一个不同的参数来调用它,因此将来需要改动这个函数的人只需要修改一次。


  正如你看到的,我的所有开源贡献都是非常微小、容易做的!当你坚持使用外部类库时,你会看到相似的机会。因此向前走,并作出小的改动——它们是有价值的!


  怎么做


  看看这个伟大的《RailsCast:一步一步教你如何为开源贡献力量》(它和非rails项目非常类似)。但是基本上,都有下面的几步:


  Fork


  在Github上找到你想贡献的类库,只需点击Fork按钮!


github fork截图


  Clone

  下一步,克隆你想fork的类库——它现在应该在你的名字下(比如:NatashaTheRobot/ECSlidingViewController),而不是原作者!

github clone截图



酷毙

雷人

鲜花

鸡蛋

漂亮
  • 快毕业了,没工作经验,
    找份工作好难啊?
    赶紧去人才芯片公司磨练吧!!

最新评论

关于LUPA|人才芯片工程|人才招聘|LUPA认证|LUPA教育|LUPA开源社区 ( 浙B2-20090187 浙公网安备 33010602006705号   

返回顶部