開發(fā)者必備的6款源碼搜索引擎
借鑒現(xiàn)有的開源項(xiàng)目或開源代碼,對(duì)于初級(jí)開發(fā)者來(lái)說(shuō),不失為一種很好的編程手段,但千萬(wàn)不要單純地“用”,更多地是理解與提升,這樣才會(huì)進(jìn)步。
下面為大家介紹6款源碼搜索引擎,讓你找到更適合你的源碼。
1.Ohloh
Ohloh Code是***且非常全面的源碼搜索引擎,根據(jù)FOSS目錄來(lái)看,其擁有超過(guò)10億行代碼且在不斷更新,它不僅是免費(fèi)的,而且還可以通過(guò)社區(qū)進(jìn)行免費(fèi)編 輯。通過(guò)搜索可以索引到所有的文本文件,并且對(duì)43種編程語(yǔ)言都帶有語(yǔ)法提示功能。此外,搜索語(yǔ)法非常靈活,可以為你查找到各種不同類型的類。搜索引擎目 前不支持正則表達(dá)式。
2.Krugle
Krugle是一個(gè)開源的搜索門戶,基本上主流的開源代碼都有收錄,比如 Apache、JavaDocs、SourceForge 等。你還可以搜索使用C++、Java、Perl、SQL、Ruby、XML、HTML等語(yǔ)言編寫代碼。Krugle還有一個(gè)非常高級(jí)的搜索功能,幫你快 速定位到正確的API、庫(kù)、示例代碼或文檔。在搜索結(jié)果頁(yè)面,你可以直接瀏覽項(xiàng)目源碼。
SearchCode從Github、BitBucket、CodePlex、 SourceForge、Fedora等代碼倉(cāng)庫(kù)里篩選了近160億行開源代碼,代碼和文檔由一位單獨(dú)的開發(fā)者維護(hù)。你可以使用文件擴(kuò)展、特定代碼庫(kù)名 字、URL、正則表達(dá)式、特殊字符等過(guò)濾器對(duì)源碼進(jìn)行過(guò)濾,以便搜到你想要的代碼。具體示例和文檔代碼搜索支持,可以參照這個(gè)例子。
NerdyData.com是一個(gè)可以搜索網(wǎng)頁(yè)源代碼中內(nèi)容的搜索引擎,它已經(jīng)擁有 超過(guò)140萬(wàn)個(gè)Web代碼索引,如果你是一名Web開發(fā)人員,你可以搜索到HTML標(biāo)記、JavaScript代碼或CSS樣式代碼段。 NerdyData的目標(biāo)不僅僅是做一個(gè)簡(jiǎn)單的源碼搜索引擎,他們也在圍繞Web開發(fā)流程來(lái)開發(fā)一系列功能。
當(dāng)涉及到搜索特殊符號(hào)時(shí),谷歌和其他搜索引擎并不是***選擇。例如谷歌,去掉了許多標(biāo)點(diǎn)符號(hào)和特殊符號(hào)。如果你想搜索含有特殊字符的變量和錯(cuò)誤代碼,使用普通的搜索引擎可能不會(huì)返回你期望的結(jié)果。Symbol Hound的出現(xiàn)解決了這一問(wèn)題。
6.Merobase
Merobase搜索引擎與其他不一樣,它并不是用來(lái)搜索源碼,而是幫你搜索和定位 軟件組件,可以搜索Java、C++、C#等語(yǔ)言編寫的組件。Merobase還可以搜索基于查詢的簡(jiǎn)單文本接口,你也可以搜索基于函數(shù)、面向?qū)ο蟆⒚?稱、測(cè)試驅(qū)動(dòng)的查詢,這也是它的一大亮點(diǎn)。
前人栽樹,后人乘涼。看他人的代碼并且學(xué)會(huì)使用也是一種很好的學(xué)習(xí)方法。隨著開源事業(yè)的不斷發(fā)展與壯大,你可以在這些搜索引擎上搜索到任何你想要的代碼。