很多的小伙伴,經常會有這樣的困惑,我看了很多技術的學習文檔、書籍、甚至視頻,我想動手實踐,於是我打開了GitHub,想找個開源項目,進行學習,獲取項目實戰經驗。這個時候很多小伙伴就會面臨這樣的問題:“我不會搜啊,我該怎麼找呀?”,最終只能放棄。相信看完這篇文章,你就可以學會如何精準地在GitHub搜 ...
很多的小伙伴,經常會有這樣的困惑,我看了很多技術的學習文檔、書籍、甚至視頻,我想動手實踐,於是我打開了GitHub,想找個開源項目,進行學習,獲取項目實戰經驗。這個時候很多小伙伴就會面臨這樣的問題:“我不會搜啊,我該怎麼找呀?”,最終只能放棄。相信看完這篇文章,你就可以學會如何精準地在GitHub搜索項目。
開源項目的組成部分
在講清楚之前呢,我們先來瞭解一下一個開源項目有哪些組成部分:
- name: 項目名
- description: 項目的簡要描述
- 項目的源碼
- README.md: 項目的詳細情況的介紹
那麼除了這些要素之外,項目本身的star數和fork數,也是評判一個開源項目是否火熱的標準,這同時也是一個很重要的搜索標準。另外我們也要註意觀察這個項目的最近更新日期,因為項目越活躍,那麼它的更新日期也更加頻繁。
以上要素就是我們在進行搜索的時候要註意的一些關鍵點。
如何搜索
那我們到底如何搜索呢?
假設我們現在要搜索React,相信大部分小伙伴都是直接在搜索框里輸入:“React”,然後一回車,你就會發現情況像下麵這樣:
搜索結果會顯示非常多的開源項目,簡直讓你應接不暇,無從下手,很多小伙伴搜到這一步就放棄了,因為項目太多了,根本找不到如何找到自己感興趣的開源項目,所以這樣搜索非常的不准確。所以我們來學習一下稍微精確一點的搜索方法。
按照 name 搜索
搜索項目名裡面包含React的項目:
in:name React複製代碼
得到如下結果:
可以看到,這些搜索結果都是項目名裡面帶有“React”關鍵字的項目,但是項目數量依舊很多。
現在我們來約束一下
比如我再精確到項目的star數大於5000+:
in:name React stars:>5000複製代碼
結果是這樣的:
搜索結果瞬間精確了很多,現在只有114個項目可供選擇。當然我們一般不會把star數設置得這麼高,一般設置個1000就差不多了。
同理,我們也可以按照fork的數量來進行搜索:
in:name React stars:>5000 forks:>3000複製代碼
你會發現,結果越來越精確!
按照README來搜索
搜索README.md裡面包含React的項目:
in:readme React複製代碼
結果有這麼多,那麼我們再限制一下它的star數和fork數:
in:readme React stars:>3000 forks:>3000複製代碼
搜索結果一下子精確到了90個。這個時候你再去選擇項目,就會變得容易很多。
按照descriptin搜索
假設我們現在要學習微服務的項目,我們搜索項目描述(description)裡面包含微服務的項目:
in:description 微服務複製代碼
結果有這麼多,那我們接著增加一些篩選條件:
in:description 微服務 language:python 複製代碼
language:python的意思是我們把語言限製為python,我們來看看結果如何:
搜索結果精確了很多。
假如在這些項目裡面,我們想要找到最近才更新的項目,意思是更新時間就在最近,我們可以這樣:
in:description 微服務 language:python pushed:>2020-01-01複製代碼
pushed:>2020-01-01的意思是我們把項目的最後更新時間限制到2020-01-01,我們來看看結果如何:
搜索結果只有8個了,這幾個項目就屬於更新比較活躍的項目,這下再也不糾結了。
總結
好,我們來總結一下。我們想要進行精準搜索,無非就是增加篩選條件。
in:name xxx // 按照項目名搜索
in:readme xxx // 按照README搜索
in:description xxx // 按照description搜索
那麼在這裡面呢,我們又可以增加篩選條件
stars:>xxx // stars數大於xxx
forks:>3000 // forks數大於xxx
language:xxx // 編程語言是xxx
pushed:>YYYY-MM-DD // 最後更新時間大於YYYY-MM-DD
以上就是我們在GitHub上面精準搜索項目的一些小技巧,希望對你有所幫助!
本文由博客一文多發平臺 OpenWrite 發佈!