教练 这个开源项目我也想学 GKD

181 阅读3分钟

教练 这个开源项目我也想学 GKD

很多大佬都会开源项目。一些项目也会推出官方案例。

Google camera 开源项目github.com/google/came…

Google Jetpack开源项目 sunflowerhttps://github.com/android/sunflower

Jetpack实战:神奇宝贝 github.com/hi-dhl/Poke…

请大佬务必多发些 我还能学 这些项目都好香呀 每一个都是很好的学习资源。学习某个知识点,自定义View,某个功能的实现逻辑。优化思想等等。但是往往当我们打开开源项目

怎么会有这么多级的目录 ??? 这么多的文件???尽管大佬文件定义很好,我们可以较好的知道每个文件负责的功能.但是面对整个项目。我们还是有深深的无力感。不知道从哪里学起。太难了

但是Git是一个很好的项目管理工具。有完善的代码提交机制,我们可以借助每commit生成的节点,branch,history回顾整个项目。而GIthub官方推出了这款应用github desktop应用

这让我们可以更好的了解整个项目。而随着都对项目的了解,也增加了对项目所用功能的理解。

下面,我们看看怎么使用这个工具对源码进行学习。

对于想要学习的开源项目或者公司代码。把代码clone下来

这就是点击后的界面啦

比如我们这边想要学习Android 推出的Jetpack示例sunflower

我们可以看到这样的界面

在这里,我们可以点击history。就能看到这个项目的整个历史演变啦。

我们还可以切换分支。查看其他分支的情况。对于开源项目的学习。建议在主分支上啦。我们通过history,拉到最下面

可以看到,官方初始化了一个空的仓库,没有提交文件。

第二次的时候,官方的提交案例

这个时候官方创建了这个工程,但是还是什么都没有做。就和我们新建了工程一般。

在第三次的时候,我们看到在master分支提交了植物列表(Recyclerview)

我们可以得到这次提交的内容

Specific commit details
- Add master/detail flow
- Add RecyclerView
- Add data binding
- Update gradle files in both Java and Kotlin projects
- Bump minSDK from 15 to 19 - highest version to achive 90% device
coverage.
- Extract out library versions in gradle files.

并且 在这次提交中 我们可以看到对代码的 增加 修改 删除

绿色的加号是新增的文件

红色的减号是删除的文件

橙色的星号是修改的文件

在修改的文件里面,我们可以更好的观察到代码的变化 这样,是不是觉得开源项目一步一步的也能啃的下来了呢

而且。在GIthub里面学习开源项目(还可以可以和大佬深入交流一下 dark♂)

提一下issues

步骤如下

别人看到也会回复的哦,如果发现了bug,也请大力提交issues

嘛 如果你这个时候顺便还解决了问题,或者想出了更好的想法。请务必pull request让大家知道。如果别人采纳了这个代码,你也是这个开源项目的贡献者呢。想想被大牛采纳意见