我打算通过看源码提高自己的编程水平,现在有一个问题是,我怎么找到这些源码?
去哪里找,这个问题可以认为是有标准答案的,答案就是 Github。
而怎么找,是一个没有标准答案的问题,一个好的开始是使用 Github 的高级搜索。
这里用搜索微信小程序为例,因为微信小程序的开发者基本上都是国人,学习资料不够丰富,我希望可以通过阅读别人的源码提高自己的小程序水平。
接下来用这条链接作为例子分享搜索方法:
分析:
type=repositories
表示搜索的是 repo;q=
直至最后,都表示搜索的筛选指标,不同指标之间用 +
相隔:
微信小程序
就是本次搜索的关键词;in:name,description,topics,readme
表示在哪些地方搜索 微信小程序
这个关键词,这里我分别写了 repo 的名称、描述、topic、README,默认不包括 README,但我觉得如果 README 中含有 微信小程序
这个关键词,那它大概率是一个和微信小程序有关的项目,所以我额外加上 README;size:<20
表示 repo 的体积小于 20KB,刚开始看源码建议从小项目看起,如果你想要小于 1MB,那写成 size:<1000
;size:>10
表示 repo 的体积要大于 10KB,体积太小可能没什么值得看的;pushed:>2023-01-01
表示 repo 上一次 git push
的日期,即上一次更新日期,一个人时间精力有限,优先阅读还活跃的 repo;created>2023-01-01
表示 repo 的创建日期,小程序 API 迭代速度还是比较快的,阅读新 repo 可以学习到新的写法;stars:>10
表示 star 数量要大于 10,大部份个人项目可能根本没有 star,但他们的代码大概率有可取之处,所以这里设置一个低数值可能更好;is:public
表示 repo 公开,这是必选项;archived:false
选择那些没有归档的 repo;提高编程水平,除了读源码之外,还可以积极参与开源项目的代码贡献。你可以使用 good-first-issues
、help-wanted-issues
这两个指标找出那些欢迎贡献代码的 repo。
比如下面这条链接,搜索 javascript
,找出那些 good-first-issues
大于 2 的 repo:
https://github.com/search?q=javascript+good-first-issues:>2&type=repositories
更多例子:
beginner
;easy
;first-timers-only
;good-first-bug
;good first issue
;startr
;up-for-grabs
;最后补充一点,你可以向优秀的开源开发者学习,阅读他们的源码,例如 Sindre Sorhus,他的 sindresorhus/amas 这个 repo 列举了部分优秀开发者。
相关文章: