代碼片段是開發(fā)者每天都要面對(duì)的東西,甚至有時(shí)候查找代碼片段的時(shí)間比編寫新代碼的時(shí)間還要多。因?yàn)槿绻业侥軌蛟陧?xiàng)目中直接使用的代碼片段,這意味著你無需絞盡腦汁“重新發(fā)明輪子”,且可以令工作效率成倍提升。
但是互聯(lián)網(wǎng)中存在大量的代碼片段,它們分布在成千上萬個(gè)的網(wǎng)站中,并且你無法確定搜索到的這些代碼能否成功運(yùn)行,是否符合你的需要。
Runnable的誕生就是為了解決這一問題。Runnable是一個(gè)一站式的代碼片段集合網(wǎng)站,你不僅可以搜索代碼,還可以編輯、運(yùn)行這些代碼片段,以確保它們的正確性與可用性。
如今開發(fā)者花費(fèi)在編寫新代碼上的時(shí)間越來越少,而更多地時(shí)間則用來在網(wǎng)上搜索現(xiàn)成的代碼片段,然后重新進(jìn)行組裝。目前的技術(shù)日新月異,即使是專業(yè)的開發(fā)人員,也免不了在網(wǎng)上搜索代碼片段來了解新的知識(shí)。
目前網(wǎng)上有幾十萬的組件和服務(wù)相關(guān)的代碼,比如開源搜索引擎 Ohloh提供了20,656,731,705行公開代碼,API跟蹤網(wǎng)站 Programmable Web提供了超過1000個(gè)公開可用的API。這造成了一個(gè)很大的查找問題。而Runnable可以讓你很方便地查找、運(yùn)行和測(cè)試代碼,大大簡(jiǎn)化了工作量。
在Runnable中,你可以根據(jù)問題進(jìn)行搜索,找到代碼片段后,你還可以進(jìn)行編輯、運(yùn)行,看它是否符合項(xiàng)目需要。
Runnable中的代碼片段按照語言分類,包括PHP、Node.js、Python、JavaScript、ASP.NET、Ruby on Rail以及相關(guān)的框架。
除了語言本身外,Runnable還專注于API以及 MySQL、 MongoDB、 redis和 前端/后端服務(wù)方面的代碼。比如有一組示例可以展示如何和PayPal API使用。一些針對(duì)其他流行API的例子也正在整理中。
這些代碼片段目前由團(tuán)隊(duì)中的6個(gè)人從一些可靠網(wǎng)站中搜集并進(jìn)行篩選。聯(lián)合創(chuàng)始人Yash Kumar表示未來還會(huì)加入C++,但是時(shí)間還不確定。
Runnable的優(yōu)勢(shì)
在Runnable出現(xiàn)之前,開發(fā)者可以使用 Github Gist、 koders、 grepcode、 antepedia和Google代碼搜索( 已經(jīng)關(guān)閉)來搜索代碼片段,也可以使用 Codepen或 jsfiddle在線運(yùn)行HTML/JS/CSS代碼。
但是 Runnable將這些網(wǎng)站的功能集合到了一起,將網(wǎng)上質(zhì)量參差不齊的代碼進(jìn)行了篩選,并提供了運(yùn)行、測(cè)試功能。除了可以在線運(yùn)行HTML/JS/CSS代碼外,還增加了更多的語言。
Runnable的發(fā)展規(guī)劃
Runnable的目標(biāo)是成為開發(fā)者查找代碼片段的中央庫。實(shí)現(xiàn)這一目標(biāo),需要網(wǎng)站中有盡可能多的代碼片段,因此,Runnable還計(jì)劃成為開發(fā)者存儲(chǔ)代碼示例的默認(rèn)網(wǎng)站。
目前Runnable中大約有1000個(gè)代碼片段,Kumar對(duì)網(wǎng)站發(fā)展很有信心,他表示這一數(shù)字將在短短幾個(gè)月內(nèi)增長(zhǎng)10倍。
目前團(tuán)隊(duì)還在篩選網(wǎng)上的代碼,他們希望以后有更多的開發(fā)者能夠參與提交代碼。他們表示,在Runnable上發(fā)布代碼就像在Medium上寫一篇博客一樣容易。
未來,Runnable團(tuán)隊(duì)計(jì)劃增加更多的社區(qū)服務(wù)功能(比如在代碼編輯器上增加評(píng)論系統(tǒng))、增加更多的語言和框架代碼。
到目前為止, Runnable團(tuán)隊(duì)已經(jīng)拿到一筆小額種子投資。未來,團(tuán)隊(duì)希望能跟面向開發(fā)者的公司合作,可以通過付費(fèi)讓這些公司的代碼突出顯示。
一些質(zhì)疑聲音
盡管大部分開發(fā)者表示看好 Runnable,但是也存在一些質(zhì)疑聲音。
開發(fā)者TheBrewDawg表示,在Google中搜索一個(gè)問題,大部分時(shí)候答案都在stackoverflow.com中,這個(gè)網(wǎng)站可以幫助開發(fā)者解決一些非常棘手的、特定的問題。而對(duì)于這種問題,似乎Runnable很難給出很好的搜索結(jié)果。
對(duì)此Kumar表示,Stackoverflow是一個(gè)偉大的QA資源網(wǎng)站,但Runnable是一個(gè)代碼片段服務(wù)平臺(tái),目標(biāo)跟 Stackoverflow完全不同,也不會(huì)朝 Stackoverflow的方向發(fā)展。
還有一些開發(fā)者擔(dān)心代碼片段的質(zhì)量問題,比如有些代碼是可讀的,并且有很好的注釋,但是存在幾個(gè)關(guān)鍵的錯(cuò)誤,如果直接復(fù)制到自己的項(xiàng)目中,可能會(huì)導(dǎo)致一些嚴(yán)重的錯(cuò)誤。如果沒有某種形式的社區(qū)審查過程,很難讓人信任并下載這些代碼。以目前這種狀態(tài),Runnable和其他一些代碼片段網(wǎng)站沒有什么區(qū)別。
對(duì)此Kumar表示, Runnable才剛剛開始,未來計(jì)劃添加投票和評(píng)論功能,并鼓勵(lì)開發(fā)者在Runnable上運(yùn)行測(cè)試代碼,并進(jìn)行反饋,在不久的將來,代碼的整體質(zhì)量會(huì)有很大的提升。
來源網(wǎng)站: Techcrunch Runnable