開源軟體

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 ...