正文共: 2468字 8图
预计阅读时间: 7分钟
一、前言
在日常工作中,我们并不推荐去重复造轮子,通常我们会去搜索一些稳定的第三方开源库来使用。而 Github 中,开源的那些代码库,就是一个非常宝贵的资源,很多大型稳定的开源项目,都被托管在 Github 之上,这些项目一旦被开源,经过广大开发者的贡献之后,其实很多已经趋于稳定,靠谱的开源库已经很难发现重大 Bug。但是在 Github 上托管的开源项目非常之多,最简单的搜索方式就是在搜索框中,输入我们要搜索的关键字。这在有明确目标的前提下,将非常的高效,但是有时候我们并不能完整的确定。如何在这一大片资源中,找到我们需要的,就是需要技巧的了。本文就这个话题,展开讨论,看看如何高效的在 Github 上,搜索我们需要的开源项目。
二、搜索技巧
2.1 搜索结果先来看看,当我们直接在 Github 上,搜索项目的时候,出现的效果。
如图所示,这里我搜索的是Glide,对于一些优秀的开源项目,一般比较靠前的搜索结果里,就可以搜索出我们想要的项目。在这个页面,如果想要赛选出搜索结果,可以在右侧选择 Languages 来选择语言,例如我这里搜索的 Glide ,明显就是想要 Java 的开源库,所以选择 Java 就好了。而如果想要在搜索结果中,进行排序,可以点击 Sort 来选择,默认是 Best Match ,表示一个最佳匹配的结果。
在Sort中,可以通过 start 、fork、updated 几个指标进行单独排序,一般我们使用 Most starts(按 start 数,降序排序)或者Most forks(按 fork 数,降序排序),就可以了。通常,这些选择之后,就已经可以精准的找到我们需要的开源库了。假如,还是不确定,可以考虑使用高级搜索(Advanced search),来进行搜索,在搜索结果的右上角,有快捷入口可以点击。2.2 Advanced Search在搜索结果页,就有 Advanced Search 的快捷入口,如果你没有找到,你可以直接进入:https://github.com/search/advanced假如普通的搜索方式,满足不了你的需要,那么 Advanced Search 就一定是你想要的。在 Advanced Search 中,你可以最大限度的设定搜索的条件,例如:作者是谁,来自哪个 repositories ,start 和 fork 数的范围等等,非常的全面。
在 Advanced search 的最上面,有一个搜索框,可以在这里填写关键字,然后在下面选择筛选的条件。从上面的例子中,可以看到,当你选择筛选条件之后,搜索框中,同步也会修改搜索的内容,而这些内容是遵循 Github 搜索语法的。举个例子,在 Repositories Options 中,你可以设置一些 start 和 fork 数的范围。
可以看到,对应的输入框,其实已经将提示做的很好了, 标识 0~100 的范围内, 标识最少要大于 1000 ,这些都非常的好理解,你可以根据需求在这里配置。举个例子,假如我需要搜索一个图片加载库,我搜索关键字 "Image loader" ,并且要求 start 数要大于 1000,最终配置完成的结果就是。这样的一个搜索语句,是可以直接在 Github 的搜索框中生效的,如果熟悉这些语法,就不需要依赖 Advanced Search 这个页面了。这里推荐几个常用的语法,其实更多的我自己也记不住,如果忘了,点开 Advanced Search 就可以了,毕竟是个熟能生巧的事情。
starts: 限定 start 数,例如 。
forks:限定 forks 数,例如,。
user:限定作者,例如,。
license:限定开源协议,例如,。
topic:限定标签,例如,。
更多使用技巧,推荐直接查阅官方文档,或者在 Advanced Search 页面中多试试。https://help.github.com/categories/searching-for-information-on-github/2.3 Topic 搜索还有一个 Topic 搜索的使用技巧,我觉得也非常有用,可以单独拿出来说说。对于开源库,都是为了解决具体问题,例如访问网络、加载图片等等,所以会为其加上不同的 topic 来做为一个标签的形式,对开源库进行标记。
对于 Glide 而言,它的 Topic 就是如上图所示的这些。这些 Topic 都是可以点击的,例如我想继续看看同样被 标记过的开源项目,直接点击 就可以了,这样筛选出来的库,可能也能解决加载 图的问题。GitHub 还专门提供了一个页面,展示目前流行的 Topic:https://github.com/topics。
三、小结
本文知识提点了一些 Github 上,可以使用的常用搜索技巧,能更快的帮你找到你需要的开源库。一些高级技巧确实不常用过一段时间就忘记了,不过还好有 Advanced Search 页面,可以帮我们快速的找到我们需要的筛选条件。对于知识,有时候知道如何找到它,比掌握它更加重要。
你还有什么关于 Github 搜索的小技巧,可以在留言区留言,我们一起讨论一下。
领取专属 10元无门槛券
私享最新 技术干货