如何高效地在網(wǎng)上找開(kāi)源項(xiàng)目?
學(xué)習(xí)編程,最高效的還是找個(gè)項(xiàng)目,在實(shí)際的項(xiàng)目開(kāi)發(fā)中提升自己的編程技能,積累實(shí)戰(zhàn)經(jīng)驗(yàn)。如果手邊沒(méi)有項(xiàng)目可做,那就去找開(kāi)源項(xiàng)目,找開(kāi)源項(xiàng)目,認(rèn)準(zhǔn)一個(gè)網(wǎng)站就夠了,那就是 github.com。本文分享如何在 gihtub 上高效的找到自己想要的開(kāi)源項(xiàng)目。
首先隨便打開(kāi)一個(gè)項(xiàng)目,看下一個(gè)項(xiàng)目主頁(yè)包含哪些信息,我已經(jīng)做了標(biāo)注:


上圖可以看到,一個(gè)項(xiàng)目含有的基本信息,這些信息都可以通過(guò)搜索框來(lái)來(lái)匹配,從而更快的找到目標(biāo)項(xiàng)目。通常星數(shù),觀看數(shù),更新日期,表示了一個(gè)項(xiàng)目的火熱程度。比如說(shuō)我想搜索 readme 中含有 “web development” 關(guān)鍵字,主要編程語(yǔ)言為 ”P(pán)ython“,星數(shù)大于 3000 的項(xiàng)目,就可以這樣搜索:
"web?development"?in:readme?language:python?stars:>3000
搜索結(jié)果就只有 14 個(gè),大大減輕了自己篩選的負(fù)擔(dān),結(jié)果如下:

下面列舉下 GitHub 相關(guān)的搜索技巧:
1、通過(guò) in 關(guān)鍵字搜索
關(guān)鍵字 in 可以搜索出 GitHub 上的資源名稱(chēng) name、說(shuō)明 description 和 readme 文件中的內(nèi)容。description 就是 About 那一塊的信息。
比如說(shuō) python in:name,description,readme 其中,逗號(hào)分割表示或的意思,意思就是三者中只要有一個(gè)有 python 就行。
2、通過(guò) stars、fork 數(shù)量搜索
搜索 GitHub 時(shí)用 star 數(shù)量和 fork 數(shù)量判斷這個(gè)項(xiàng)目是否優(yōu)秀的標(biāo)準(zhǔn)之一,我們可以使用 大小,小于,范圍等方式過(guò)濾:
python in:name stars:>1000 forks:>500 就表示星數(shù)大于 1000 且 forks 數(shù)大于 500,名字中含有 python 的項(xiàng)目。
如果要指定范圍,可以這樣:
python in:name stars:5000..10000 表示星數(shù)在 5000 到 10000 之間,名字中有 python 的項(xiàng)目。
3、按創(chuàng)建、更新時(shí)間搜索
按創(chuàng)建、更新時(shí)間搜索可以把版本老舊的資源篩選出去,比如說(shuō):
按創(chuàng)建時(shí)間:
created:>=YYYY-MM-DD按更新時(shí)間:
pushed:>=YYYY-MM-DD
比如說(shuō)搜索 2021 年之后創(chuàng)建的 Python 項(xiàng)目:python in:name created:>=2021-01-01 pushed:>=2021-01-01
4、按文件、路徑內(nèi)容搜索
在 GitHub 還可以按文件內(nèi)容和文件路徑搜索,不過(guò)有一定的限制,首先必須登錄,此外項(xiàng)目的文件不能太多,文件不能太大,在需要搜索 fork 資源 時(shí),只能搜索到 star 數(shù)量比父級(jí)資源多的 fork 資源,并需要加上 fork:true 查詢(xún),搜索結(jié)果最多可顯示同一文件的兩個(gè)分段,但文件內(nèi)可能有更多結(jié)果,不能使用通配符。
語(yǔ)法格式:
按文件內(nèi)容 關(guān)鍵字 in:file按文件路徑 關(guān)鍵字 in:path
比如:python in:file,path
5、按文件名、大小、擴(kuò)展名搜索
語(yǔ)法格式如下:
按文件名搜索: 關(guān)鍵字 filename:FILENAME按文件大小搜索: 關(guān)鍵字 size:>=大小按擴(kuò)展名搜索: 關(guān)鍵字 extension:EXTENSION
舉個(gè)例子:python filename:aaa size:>10 extension:py

6、按編程語(yǔ)言來(lái)搜索
語(yǔ)法格式:關(guān)鍵字 language:LANGUAGE
比如:python language:javascript 表示搜索 javascrip 語(yǔ)言中關(guān)于 python 的項(xiàng)目。
