github實用的搜索小技巧
- 2019 年 11 月 4 日
- 筆記
查資源,學習優秀的框架,搜索是一種能力!
作為程式猿開發中最大的同性交友網站,github當之無愧,裡面有很多優秀的開源框架,各種技術大佬混跡其中,有他們總結的學習教程,造好的輪子(開發的各種工具,技術框架),開源的項目等,我們能夠從中借鑒學習,也可以獲取靈感,或節省時間,完成任務等等。但是我們要從如此多的內容中找到優秀的和我們需要的,需要我們使用一些搜索技巧,縮小搜索範圍,幫助我們更快搜索到相關的內容。
1、根據star,fork數篩選
例如我們在github上查找某個項目,評價其優秀與熱門最直接的參數就是看這個項目被star(類似微博點贊,在個人主頁可以查看自己點贊了哪些內容)了多少次,獲得了多少認可,被fork了多少次(當你覺得這個項目不錯時,可以fork這個項目源碼到自己倉庫中,但是在你倉庫中存在的這個項目不會同步更新)。雖然一個優秀的項目不一定是star多,有可能暫時還沒被其他人給發現,但根據這2個參數篩選卻是我們簡單有效的依據。
1, 大於等於 語法: 關鍵字 stars:>= 數量 forks:>=數量 例子: springboot stars:>=5000 //搜索springboot有關star數>=5000的內容 springboot stars:>=5000 forks:>=5000//搜索springboot 的star>=5000,且fork數>=5000的內容 可單獨搜索,也可組合搜索,中間用空格隔開,是&(且)的關係。
如圖1所示
2,範圍查詢 語法: 關鍵字 stars:範圍1..範圍2 例子: springboot stars:4000..5000 //搜索star數在 4000到500的springboot相關內容,..相當於mysql中between and 的作用。
如圖2所示
2、 關鍵字 in
搜索關鍵字在github上發布的位置 ,主要以下3個位置
-
name (發布的倉庫名稱)
-
description(指的是文章的摘要部分)
-
Readme (說明文檔)
語法 :關鍵字 in: 例子 :netty in:name //查找名稱中包含netty的內容 netty in:name,description //逗號分隔,是 || (或)的關係,指的是查詢名稱,或者描述中包含netty的內容
3、awesome + 關鍵字
一般是指的學習,書籍,工具類,插件類相關的系列的集合。可以有效節約時間,找到別人收集好的內容。
awesome 指的是了不起的,碉堡了。
github 官方解釋: An awesome list is a list of awesome things curated by the community. 大致意思:社區組織維護的一系列非常棒的東西的集合。(差不多吧,哈哈,水平有限,Google翻譯了解一下)
例如: awesome springboot
如圖3所示
4、搜索某個語言,某個地區的大佬
例如: location:Beijing language:java
例如: awesome springboot
如圖4所示
5、常用快捷鍵
在github上 按 ?可調出快捷鍵頁面,有些對我們還是非常有用的。
https://help.github.com/en/github/getting-started-with-github/keyboard-shortcuts
如圖5所示
-
查看源碼利器 t
在github 學習某個框架時,如果包的結構層級特別多,嫌一層層點進去麻煩,用 t ,該框架所有的類以列表形式平鋪展開,方便查看
-
s 鍵 (search)
幫助快速聚焦在搜索框里,提高效率
如圖6所示
6、 實現某行,某塊程式碼高亮
在與其他人協作開發時,溝通時在給別人指出某行,或者某塊程式碼,可以在github鏈接後面加上
1,#L23 //某行高亮 如: https://github.com/unofficial-openjdk/openjdk/blob/jdk/jdk/test/jdk/sun/misc/GetSunMiscUnsafe.java#L36
如圖7所示
2,#L23-35 //某個程式碼塊 如: https://github.com/unofficial-openjdk/openjdk/blob/jdk/jdk/test/jdk/sun/misc/GetSunMiscUnsafe.java#L36-L40
如圖8所示
7、user
查詢某位用戶的相關內容,比如某位大佬
語法:user:名稱 例子:user:ityouknow
趕快去嘗試一下吧,其他功能自己探索了
參考:
https://www.iteye.com/blog/robbiefeng-2169967