開源軟體

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 終端中管理您的密碼

    在信息時代,我們的所使用的密碼只會越來越多,你是否遇到過密碼太多而經常遺忘?所以應該如何高效地管理這些密碼?本篇文章主要講述了在我們擁有大量的密碼時,在Linux終端下,使用 Pass 管理系統高效地管理密碼,並為我們提供了詳細的操作步驟,使我們更加快速熟悉地掌握如何使用 Pass,減少我們自己在以後的使用中的可能遇到的煩惱。
    開源軟體

    用 Scribus 來進行排版吧!

    想不想製作一些親手設計的小冊子呢?來使用專業級的開源軟體 Scribus 快捷排版吧!這款應用可以讓你輕鬆地把創意落地成可列印的文檔,無論在家、辦公室還是專業的印刷廠都可以使用。在過程中也不會用到任何剪刀、膠水,完美契合不善動手的人。
    開源軟體

    使用 pdftk-java 來編輯 PDF 吧!

    在用命令行處理大量 PDF 文件時,手動操作通常不是一個好的選擇。這時候可以選擇使用 pdftk-java 工具,配合上對應批量操作的 Makefile 文件,能讓你事半功倍。
    開源軟體

    來點更高雅的!用 Linux Sampler 演奏數字管弦樂

    一直以來,音樂合成器都在嘗試模擬真實的樂器。然而在技術的發展中,合成音樂家們發現如果想真正地捕獲到樂器的美感,只能去錄製他們的聲音,再通過技術合成手段來獲得想要的音樂。如果你想要為自己的遊戲或者其他應用來配上一段優美的音樂,聘請管弦樂隊顯然是非常昂貴的。但通過 Linux Sampler 這個開源程序,或者再加上一個 MIDI 鍵盤,也是可以實現一段成功的演奏的。