该文档由i学圈团队持续维护更新
我们经常上github去寻找自己需要的功能项目,或者代码片段,我们通过依赖包管理器,往项目添加一些通用的功能模块,常见的java中的Maven,nodejs中的NPM,以及IOS中的cocoapod等,也大部分都是基于github代码库。
我们的工作效率和质量部分得益于这些开源的项目,这些项目背后有着无数的开源贡献者。
团队对公司自身产品的输出得益于这些开源的贡献,反之团队工作中提炼总结封装的通用模块的开源输出也会给公司和团队本身带来额外的价值。
直接的受益:
- 分享过程中对自身代码提炼优化和总结
- 接受使用者的一线反馈,更容易发现潜在的问题
- 接受一系列规范审核测试
- 指引团队把握最新前沿的技术和更新反馈 等.....
国内知名公司的 github地址 https://github.com/roycms/IosCodeSpecification/blob/master/github_url.md
了解下列这些知识之后就基本可以顺利的将代码开源分享出去,或者为开源贡献一份力量了。
- 准备一个 github 账户 注册地址: https://github.com/
- git 的基本使用 https://github.com/roycms/IosCodeSpecification/blob/master/git-basic.md
- 如何在Github上创建项目 http://www.jianshu.com/p/efa9dfce2853
- 如何在Github上给别人的项目贡献代码 http://www.jianshu.com/p/00cf29d2d66c
- 怎样使用Markdown编写文档 http://wowubuntu.com/markdown/index.html
- 怎样将代码提交到cocoapod https://github.com/roycms/IosCodeSpecification/blob/master/cocoasPod-basic.md
除了从 open source 的直接获益之外,更多的获益来自于开源的过程, 分享的开源项目经过团队间的review后发布,和接受互联网用户的最新反馈,都有助于优化代码质量和增进团队的技术水平。
- 每分享封装一次项目给予奖励 (绩效 +3 max +5)
- 项目星级每增加100star给予奖励(月度优秀)
- 贡献优化开源项目的一次重要问题或BUG给予奖励(绩效 +1 max +5)