作者 | 覺非
來源 | juejin.im/post/5e3d01c56fb9a07c91100801
很多的小伙伴,經(jīng)常會(huì)有這樣的困惑本砰,我看了很多技術(shù)的學(xué)習(xí)文檔碴裙、書籍、甚至視頻点额,我想動(dòng)手實(shí)踐舔株,于是我打開了GitHub,想找個(gè)開源項(xiàng)目还棱,進(jìn)行學(xué)習(xí)载慈,獲取項(xiàng)目實(shí)戰(zhàn)經(jīng)驗(yàn)。這個(gè)時(shí)候很多小伙伴就會(huì)面臨這樣的問題:“我不會(huì)搜啊珍手,我該怎么找呀娃肿?”咕缎,最終只能放棄。
相信看完這篇文章料扰,你就可以學(xué)會(huì)如何精準(zhǔn)地在GitHub搜索項(xiàng)目凭豪。
開源項(xiàng)目的組成部分
在講清楚之前呢,我們先來了解一下一個(gè)開源項(xiàng)目有哪些組成部分:
- name: 項(xiàng)目名
- description: 項(xiàng)目的簡要描述
- 項(xiàng)目的源碼
- README.md: 項(xiàng)目的詳細(xì)情況的介紹
那么除了這些要素之外晒杈,項(xiàng)目本身的star數(shù)和fork數(shù)嫂伞,也是評判一個(gè)開源項(xiàng)目是否火熱的標(biāo)準(zhǔn),這同時(shí)也是一個(gè)很重要的搜索標(biāo)準(zhǔn)拯钻。另外我們也要注意觀察這個(gè)項(xiàng)目的最近更新日期帖努,因?yàn)轫?xiàng)目越活躍,那么它的更新日期也更加頻繁粪般。
以上要素就是我們在進(jìn)行搜索的時(shí)候要注意的一些關(guān)鍵點(diǎn)拼余。
如何搜索
那我們到底如何搜索呢?
假設(shè)我們現(xiàn)在要搜索React,相信大部分小伙伴都是直接在搜索框里輸入:“React”亩歹,然后一回車匙监,你就會(huì)發(fā)現(xiàn)情況像下面這樣:
搜索結(jié)果會(huì)顯示非常多的開源項(xiàng)目,簡直讓你應(yīng)接不暇小作,無從下手亭姥,很多小伙伴搜到這一步就放棄了,因?yàn)轫?xiàng)目太多了顾稀,根本找不到如何找到自己感興趣的開源項(xiàng)目达罗,所以這樣搜索非常的不準(zhǔn)確。所以我們來學(xué)習(xí)一下稍微精確一點(diǎn)的搜索方法静秆。
按照 name 搜索
搜索項(xiàng)目名里面包含React的項(xiàng)目:
in:name React
得到如下結(jié)果:
可以看到粮揉,這些搜索結(jié)果都是項(xiàng)目名里面帶有“React”關(guān)鍵字的項(xiàng)目,但是項(xiàng)目數(shù)量依舊很多抚笔。
現(xiàn)在我們來約束一下
比如我再精確到項(xiàng)目的star數(shù)大于5000+:
in:name React stars:>5000
結(jié)果是這樣的:
搜索結(jié)果瞬間精確了很多扶认,現(xiàn)在只有114個(gè)項(xiàng)目可供選擇。當(dāng)然我們一般不會(huì)把star數(shù)設(shè)置得這么高塔沃,一般設(shè)置個(gè)1000就差不多了蝠引。
同理,我們也可以按照fork的數(shù)量來進(jìn)行搜索:
in:name React stars:>5000 forks:>3000
你會(huì)發(fā)現(xiàn)蛀柴,結(jié)果越來越精確螃概!
按照README來搜索
搜索README.md里面包含React的項(xiàng)目:
in:readme React
結(jié)果有這么多,那么我們再限制一下它的star數(shù)和fork數(shù):
in:readme React stars:>3000 forks:>3000
搜索結(jié)果一下子精確到了90個(gè)鸽疾。這個(gè)時(shí)候你再去選擇項(xiàng)目吊洼,就會(huì)變得容易很多。
按照descriptin搜索
假設(shè)我們現(xiàn)在要學(xué)習(xí)微服務(wù)的項(xiàng)目制肮,我們搜索項(xiàng)目描述(description)里面包含微服務(wù)的項(xiàng)目:
in:description 微服務(wù)
結(jié)果有這么多冒窍,那我們接著增加一些篩選條件:
in:description 微服務(wù) language:python
language:python的意思是我們把語言限制為python递沪,我們來看看結(jié)果如何:
搜索結(jié)果精確了很多。
假如在這些項(xiàng)目里面综液,我們想要找到最近才更新的項(xiàng)目款慨,意思是更新時(shí)間就在最近,我們可以這樣:
in:description 微服務(wù) language:python pushed:>2020-01-01
pushed:>2020-01-01的意思是我們把項(xiàng)目的最后更新時(shí)間限制到2020-01-01谬莹,我們來看看結(jié)果如何:
搜索結(jié)果只有8個(gè)了檩奠,這幾個(gè)項(xiàng)目就屬于更新比較活躍的項(xiàng)目,這下再也不糾結(jié)了附帽。
總結(jié)
好埠戳,我們來總結(jié)一下。我們想要進(jìn)行精準(zhǔn)搜索蕉扮,無非就是增加篩選條件整胃。
in:name xxx // 按照項(xiàng)目名搜索
in:readme xxx // 按照README搜索
in:description xxx // 按照description搜索
那么在這里面呢,我們又可以增加篩選條件
stars:>xxx // stars數(shù)大于xxx
forks:>3000 // forks數(shù)大于xxx
language:xxx // 編程語言是xxx
pushed:>YYYY-MM-DD // 最后更新時(shí)間大于YYYY-MM-DD
以上就是我們在GitHub上面精準(zhǔn)搜索項(xiàng)目的一些小技巧喳钟,希望對你有所幫助屁使!