开源软件

Sourcegraph:开发者的福音

众所周知,开源代码库向来都是程序员们的金矿,但是如何从中选择出合适的代码并且学会使用它们可是非常需要技巧的。来自 Stanford 的两名毕业生 Quinn Slack  和 Beyang Liu 开发的 Sourcegraph 给广大的程序员们带来了福音。它是一款非常有创新性的代码搜索引擎和代码浏览器,能够帮助用户更快地构建软件。

 Sourcegraph  是一款能够根据语义来把Web上的开源代码编入索引的代码搜索浏览工具。你可以从代码仓库和安装包甚至是函数里搜索代码,同时也可以直接点击被完全创建了链接的代码来阅读文档、跳转到变量定义或者马上找到可用的Demo。总而言之,你可以在你的web浏览器上完成这一切,而不需要配置任何编辑器。


这里在Sourcegraph中搜索docker的源码:将鼠标放在函数名上点击一下就会出现代码框,点击Go to definition即可跳转到函数定义的地方。非常方便。

QQ截图20150425193745

 

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 按钮就会生成一段脚本,支持直接贴在博客中。下面是预览效果:

33

 

开源的核心代码


Sourcegraph的核心分析库是开源的,而且使用起来非常方便。它被称为srclib(发音是“Source Lib”)。强大的srclib 支撑着所有你在sourcegraph上看到的和语义分析相关的特性,同时也支持能跳转到函数定义和语义感知功能的编辑器插件。

来尝试一下它的功能吧,当然最好能告诉我们你的建议。你可以通过电邮或者推特(@srcgraph)和我们联系。我们开发Soucegraph希望它能解决程序员们日常阅读代码的痛苦,希望它能帮助到你,我们也非常希望能听到你们的建议和看法。

下面是原文链接:https://opensource.com/business/15/4/better-software-with-sourcegraph
译文地址: http://www.linuxstory.org/sourcegraph/

对这篇文章感觉如何?

太棒了
0
不错
0
爱死了
0
不太好
0
感觉很糟
0
JAVA+LINUX+DATABASE+逗B战斗机+我的女友好高冷

    You may also like

    1 Comment

    1. 王垠

    Leave a reply

    您的邮箱地址不会被公开。 必填项已用 * 标注

    此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据

    More in:开源软件

    开源软件

    嵌入式 Linux 的瑞士军刀:BusyBox

    上期文章中,笔者向各位介绍了 musl,一个 Glibc 的替代方案,它的主要优势体现在更加整洁的代码、更小的二进制体积和更优秀的静态链接支持。而本期文章的主角:BusyBox 则是 GNU Core […]
    开源项目

    Pwnagotchi 开箱教程

    Pwnagotchi 是一个由 Bettercap 驱动的 A2C 的 “AI”,它能够从周围的 WiFi 环境中学习,以最大限度地利用它捕获的可破解 WPA 密钥材料,该材料将作为可被 hashcat 破解的 PCAP 文件收集在磁盘上。 简单来说,Pwnagotchi ...