logo科技微讯

善用 Github 高级搜索,提升自己的编程水平

作者:科技微讯
日期:2023-06-02
📝 笔记

我打算通过看源码提高自己的编程水平,现在有一个问题是,我怎么找到这些源码?

去哪里找,这个问题可以认为是有标准答案的,答案就是 Github。

而怎么找,是一个没有标准答案的问题,一个好的开始是使用 Github 的高级搜索

这里用搜索微信小程序为例,因为微信小程序的开发者基本上都是国人,学习资料不够丰富,我希望可以通过阅读别人的源码提高自己的小程序水平。

接下来用这条链接作为例子分享搜索方法:

https://github.com/search?type=repositories&q=微信小程序+in:name,description,topics,readme+size:<20+size:>10+pushed:>2023-01-01+created>2023-01-01+stars:>10+is:public+archived:false

分析:

  • 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-issueshelp-wanted-issues 这两个指标找出那些欢迎贡献代码的 repo。

比如下面这条链接,搜索 javascript,找出那些 good-first-issues 大于 2 的 repo:

https://github.com/search?q=javascript+good-first-issues:>2&type=repositories

更多例子

最后补充一点,你可以向优秀的开源开发者学习,阅读他们的源码,例如 Sindre Sorhus,他的 sindresorhus/amas 这个 repo 列举了部分优秀开发者。


相关文章:

donation赞赏
thumbsup0
thumbsdown0
暂无评论