首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

如何更精准的找到你需要的开源库

第三方开源库可能算是这个行业最美妙的东西之一,好的开源库经过完善的开发和验证,帮助我们解决了开发中遇到的很多通用问题,不需要我们重复发明轮子。 可以说开源社区极大的提高了整个产业的生产力。而说到开源项目,就不能不提 GitHub,它几乎已经成为了开源项目的首选存放位置。那么如何在 GitHub 上更高效精确的找到你需要的开源项目呢,今天和大家聊聊这个话题。

高级搜索

和标题对应,这次主要和大家聊一下搜索的使用技巧。 我们进入 GitHub 后,会在顶部看到一个搜索框:

在这里输入关键字,GitHub 就会呈现出相关的结果。 当然这是最基本的用法, 除了这个之外, GitHub 还提供了高级搜索:https://github.com/search/advanced。 进入这个页面后,你会看到一系列搜索选项:

比如仓库的主要语言, Star 数量等等。 这些条件就能更精确的筛选出我们需要的结果。 比如要搜索 Swift 语言的网络相关的仓库,设置好后,顶部的搜索条就会变成这个样子:

network 是我们的搜索关键词, 后面的 language:swift 代表只搜索 swift 语言的代码库。 这样搜索后的结果就只会显示你关注的 swift 语言了。 另外刚才搜索框中的这个特殊语法,其实在平时顶部的通用搜索框中也是可以使用的。 这个有点像我们通用搜索引擎的一些搜索语法。

fork

fork 是 GitHub 上面的一个概念。 比如你的库做的比较好,其他第三方复制你的库,并且根据他们的额外需求做一些二次开发。 有时候一些好的二次开发库,也会非常的有用。 这些二次开发的分支,就称作一个仓库的 fork。

默认情况下 GitHub 的搜索功能是搜索不到 fork 的。 只有你显式的指定需要 forks 才可以。 这需要另外一个语法。和。的含义是搜索结果中可以带有 fork 库。表示搜索结果中只显示 fork 库。

另外,GitHub 搜索的规则是, 只有 fork 库的 star 数量比原始库多的,才会被显示到搜索结果中。如果 star 数没有超过原始库,是不能被搜索到的。

比如这个搜索条件表示搜索 swift 语言的仓库,并且包含 fork 库。

代码搜索

除了仓库搜索之外,GitHub 还支持代码搜索,比如你想了解某个 API 其他人如何使用,可以这样:

在搜索结果中,第二个 Code 选项卡用于代码搜索。 上面我们用的搜索公式是。 除了搜索代码文件内容之外, 我们还可以按照路径来搜索, 只需要加入搜索条件:

这次虽然还是代码搜索, 但是搜索的范围是在文件路径中,只会搜索文件路径中包含的内容。 这个能力大家不一定会经常用到,但是了解一下还是有好处的,说不定在哪天能帮你解决一个大问题。

Issues 搜索

除了代码搜索之外,另外一个比较有用的是 Issues 搜索,我们平时在使用开源库的时候难免遇到一些奇怪的问题。 其实解决这些问题最好的方式之一就是在这个开源库自己的 GitHub 项目中寻找。

比如这条搜索,表示我们要搜索 issue,表示已经关闭的 issue,表示我们只搜索这个仓库范围的 issue。 运行这个搜索你会得到这样的结果:

issue 搜索可定制化的地方很多,比如你还可以搜索和某个用户相关的 issue, 通过搜索条件,比如我们这里, mattt 是 Alamofire 的作者之一,搜索和他相关的 issue,可能会更容易得到解决问题的方案:

Topic 搜索

还有一个值得一说的就是 Topic 搜索, 关于 Topic 我想并不是所有的用户都了解。 简单说一下, 我们在浏览任何一个开源库主页的时候,都会看到会列出若干标签:

比如我们这里的 Alamofire, 它包含了很多标签,有 networking,urlsession, urlrequest 等等。 这些标签就是我们所说的 Topic。 每一个 Topic 代表一个特定领域的问题,一个开源库关联到一个 Topic 上,就相当于它解决了这个特定领域的问题。

上面截图中的所有 Topic 都是可以点击的,如果点击第一个 networking, 就会得到这样一个列表:

这里面列出了所有解决这个 Topic 问题的开源库。 Topic 的出现,给了我们一个查找所需开源库的一个新维度。 比如我们要查找 swift 网络库解决方案,可以执行这个搜索,有了前面的介绍的基础,我相信这个搜索的含义大家已经不难理解了:

这里列出了所有和 networking 这个 topic 相关的开源库,并且限定到 swift 语言。 从 Topic 角度来查找我们需要的开源库是一个非常好的视角。

GitHub 还专门提供了一个页面,展示目前流行的 Topic:https://github.com/topics。

结语

这次主要和大家聊了一下 GitHub 搜索的几个有趣的用法。这里和大家聊得其实也只是一小部分。 完整的 GitHub 搜索提供了非常多的能力,帮助我们更好的了解这个当前最流行的代码平台。 大家如果有兴趣,可以参看它的官方文档:https://help.github.com/categories/searching-for-information-on-github/,里面有非常全面的介绍。

  • 发表于:
  • 原文链接http://kuaibao.qq.com/s/20180105B02NEI00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券