当前位置首页 > 软件介绍

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

更新时间:2017-12-12 17:46:57 文章作者:admin 信息来源:绿色软件介绍 阅读次数:623次

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

发表评论