Sourcegraph:开发者的福音
众所周知,开源代码库向来都是程序员们的金矿,但是如何从中选择出合适的代码并且学会使用它们可是非常需要技巧的。来自 Stanford 的两名毕业生 Quinn Slack 和 Beyang Liu 开发的 Sourcegraph 给广大的程序员们带来了福音。它是一款非常有创新性的代码搜索引擎和代码浏览器,能够帮助用户更快地构建软件。
Sourcegraph 是一款能够根据语义来把Web上的开源代码编入索引的代码搜索浏览工具。你可以从代码仓库和安装包甚至是函数里搜索代码,同时也可以直接点击被完全创建了链接的代码来阅读文档、跳转到变量定义或者马上找到可用的Demo。总而言之,你可以在你的web浏览器上完成这一切,而不需要配置任何编辑器。
这里在Sourcegraph中搜索docker的源码:将鼠标放在函数名上点击一下就会出现代码框,点击Go to definition即可跳转到函数定义的地方。非常方便。
Quinn Slack 和 Beyang Liu 开发 Sourcegraph 的初衷和很多程序员遇到的困难一样,他们发现大量的时间都被浪费在阅读了缺乏文档的代码上,于是决定开发这一款工具来帮助程序员更好的阅读和理解代码。
你是代码仓库的作者吗?
如果你是某个开源项目或者代码仓库的作者,你最好让你的代码仓库可以支持Sourcegraph。这样就意味着Sourcegraph能够分析你的代码并且为它们建立索引,项目的贡献者和使用者就可以在Soucegraph上使用和浏览你的代码了。这些特性可以帮助你的用户节省大量可能会被花费在寻找和理解代码上的时间。
根据语义搜索项目、函数或者安装包
Sourcegraph 采用语义分级来对函数建立索引,这意味着它使用和编译器一样的方法来解析和理解代码。正因为这种索引方式,才能支撑语义搜索和搜寻可用Demo这些特性。Sourcegraph 目前已经支持 Go ,Java 和 Python,同时对 JavaScript、Ruby 和 Haskell 的支持也正在紧锣密鼓地测试中。所以你现在可以试着搜索一些比较火热的项目比如 Docker、 the AWS Java SDK, Kubernetes, redis-py,或者你自己的项目等等。
可以互动的代码片段
你可以在 Sourcegraph 的UI界面上快速高效地浏览开源代码库,但有时候想将代码从网页上分享出去。比如说你可能想要将某个代码块嵌入到个人的博客当中或者回答一个论坛的问题,就可以点击出一个代码块,然后点击上图的 Embed 按钮就会生成一段脚本,支持直接贴在博客中。下面是预览效果:
开源的核心代码
Sourcegraph的核心分析库是开源的,而且使用起来非常方便。它被称为srclib(发音是“Source Lib”)。强大的srclib 支撑着所有你在sourcegraph上看到的和语义分析相关的特性,同时也支持能跳转到函数定义和语义感知功能的编辑器插件。
来尝试一下它的功能吧,当然最好能告诉我们你的建议。你可以通过电邮或者推特(@srcgraph)和我们联系。我们开发Soucegraph希望它能解决程序员们日常阅读代码的痛苦,希望它能帮助到你,我们也非常希望能听到你们的建议和看法。
下面是原文链接:https://opensource.com/business/15/4/better-software-with-sourcegraph
译文地址: http://www.linuxstory.org/sourcegraph/
王垠