作為程序員,不論是開發還是學習,肯定會用到開源項目,那么怎么快速在開源網站找到這些項目呢?
-
常用的開源網站有:github 和 gitee
-
github是全球最大的開源社區,今天就以github為例,演示一下
-
github界面
-
一般來說,優秀的項目,維護會比較頻繁,提交數也就會多一點。當然,一個好的項目,它的
Star
數和Fork
數也會比較多。
普通人搜索的方式
1、打開github
2、輸入關鍵詞,搜出來一堆的項目,隨便瀏覽一下,簡單看一下README文檔。嗯,感覺還不錯的樣子!
3、然后就是克隆倉庫,看一下源碼,發現看不懂,內心OS:這是給人看的嗎?刪了刪了!
用這種方法想要找到適合自己的開源項目,跟大海撈針沒什么區別。只會一次次的浪費時間,也會消耗自己的耐心和精力,到最后干脆擺爛躺平了。
不過在看這篇文章的你,肯定不想這樣啦!那么下面的10個github
高級搜索技巧,趕緊學起來吧!
10個高級搜索技巧
⑴、通過in
關鍵詞搜索
in關鍵詞可以用來限制搜索范圍,精準搜索倉庫名稱name,說明description 以及README 文件中的內容。description 就是github界面圖中, About 中的信息。
下面以搜索spring boot
相關的項目為例:
-
如果直接在搜索欄輸入
spring boot
并回車,會搜到46w個結果
-
做一個限制,這次搜索項目名里含有 spring boot 的
in:name spring boot
? 看到沒有,數量馬上又46w降到29.5w,但是項目數量還是太多了。沒關系,我們可以再加其他的搜索限制,接著往下看!
⑵、通過 stars、forks 數量搜索
一個優秀的項目 star 數量和 fork 數量肯定不會少,那么我可以使用?大于
某個數,或者在某個范圍之間
的方式來過濾項目:
-
按照星標數量搜索:語法:?
關鍵字 stars:>=數量
?或?關鍵字 stars:數量1..數量2
-
按照分支數量搜索:語法:?
關鍵字 forks:>=數量
?或?關鍵字 forks:數量1..數量2
-
我們進一步限制搜索范圍,要求star數量大于2000,數量馬上變成只有31個
in:name spring boot starts:>2000
-
再要求fork數量大于1000,滿足要求的項目數量更少了,只有19個
in:name spring boot starts:>2000 forks:>1000
⑶、按項目創建時間、更新時間搜索
如果優秀項目比較多,相信大家都會喜歡最新的項目,那么就可以把老舊的項目篩選出去。
要是本來就沒幾個項目供你選,就沒必要做這一步了。
-
按照項目創建時間搜索:語法:?
關鍵字 created:>=日期
-
按照項目更新時間搜索:語法:?
關鍵字 pushed:>=日期
-
演示:
⑷、按照地區、編程語言搜索
-
一般我們都是想找到自己會的編程語言寫的項目,否則還得專門去學一遍語言才能看懂,那豈不是兜了一大圈。
-
另外,要是項目有中文的文檔說明,就更好了!(雖然很多優秀的項目都是用英文寫的,程序員不能排斥學習英語呀!)
-
按照地區搜索:語法:?
location:地區 關鍵字
-
按照編程語言搜索:語法:?
language:編程語言 關鍵字
-
例如使用 python 編程語言,且star數量大于1000的國產項目,搜索條件就是:location:china language:python stars:>1000
⑸、按文件名、倉庫大小、擴展名搜索
-
凡事都是從易到難,一開始我們更傾向于找一些小型的項目來學習,那么可以用
size
來篩選一些簡單點的項目。
-
按照文件名搜索:語法:?
關鍵字 filename:文件名
-
按照倉庫大小搜索:語法:?
關鍵字 size:>=大小
-
按照擴展名搜索:語法:?
關鍵字 extension:擴展名
-
舉個例子:
data analysis size:<5000 extension:py
⑹、按文件、路徑內容搜索
-
按照文件內容搜索:
語法:?
關鍵字 in:file 搜索內容
-
按照路徑內容搜索:
語法:?
關鍵字 path:路徑/to/search
例子:?假設你想要查找包含 "authentication" 內容的文件,并且這些文件位于名為?src/
?的路徑下,你可以使用如下搜索條件
-
authentication in:file path:src/
⑺、根據某個人或組織進行搜索
-
這個可以用來精準搜索你關注的大神是不是提交了新的項目
-
搜索特定個人的項目:語法:?
user:用戶名 關鍵字
-
搜索特定組織的項目:語法:?
org:組織名 關鍵字
⑻、根據倉庫的LICENSE搜索
在使用任何開源項目之前,最好詳細閱讀并理解項目所采用的具體授權協議,因為有的開源項目作者是明確禁止商用的,如果你使用在商業上,后面會很麻煩的!
按照許可證搜索:
-
語法:?
license:許可證類型 關鍵字
⑼、awesome加強搜索
-
awesome
?往往整合了大量的同一領域的資料,收集學習、工具、書籍類相關的項目,方便大家更好的學習。 -
比如搜索優秀的java相關的項目,包括框架、教程等
awesome java
⑽、熱門搜索(GitHub Trend 和 GitHub Topic)
-
GitHub Trend 允許你查看當前在 GitHub 上受歡迎的項目,根據不同的編程語言和時間范圍進行篩選
-
GitHub Topic 是一種對項目進行標簽分類的方式。GitHub 上的項目可以被分配到不同的主題標簽,使得你可以通過主題來瀏覽和發現項目。
以上就是關于高效尋找開源項目的全部內容了!
文章轉載自:知微之見
原文鏈接:https://www.cnblogs.com/Wayne123/p/18046322
體驗地址:引邁 - JNPF快速開發平臺_低代碼開發平臺_零代碼開發平臺_流程設計器_表單引擎_工作流引擎_軟件架構