开源软件

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:开源软件

    开源项目

    Pwnagotchi 开箱教程

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

    光速上手C++20协程

    今天来学习下怎么使用基于C++20设计开发的协程框架async_simple(https://github.com/alibaba/async_simple)。async_simple是阿里巴巴开源的轻量级C++异步框架。提供了基于C++20无栈协程(Lazy),有栈协程(Uthread)以及Future/Promise等异步组件。连续两年经历天猫双十一磨砺,承担了亿级别流量洪峰,具备高性能和高稳定性。
    开源软件

    在 Linux 终端中管理您的密码

    在信息时代,我们的所使用的密码只会越来越多,你是否遇到过密码太多而经常遗忘?所以应该如何高效地管理这些密码?本篇文章主要讲述了在我们拥有大量的密码时,在Linux终端下,使用 Pass 管理系统高效地管理密码,并为我们提供了详细的操作步骤,使我们更加快速熟悉地掌握如何使用 Pass,减少我们自己在以后的使用中的可能遇到的烦恼。
    开源软件

    用 Scribus 来进行排版吧!

    想不想制作一些亲手设计的小册子呢?来使用专业级的开源软件 Scribus 快捷排版吧!这款应用可以让你轻松地把创意落地成可打印的文档,无论在家、办公室还是专业的印刷厂都可以使用。在过程中也不会用到任何剪刀、胶水,完美契合不善动手的人。