公眾號:MarkerHub,網站:markerhub.com
作者:覺非
來源:juejin.im/post/5e3d01c56fb9a07c91100801#heading-5
很多的小夥伴,經常會有這樣的困惑,我看了很多技術的學習文件、書籍、甚至視訊,我想動手實踐,於是我開啟了 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 上面精準搜尋專案的一些小技巧,希望對你有所幫助!
推薦閱讀