如何在 Github 上發現優秀的開源項目?
之前發過一系列有關 GitHub 的文章,有同學問了,GitHub 我大概了解了,Git 也差不多會使用了,但是還是搞不清 GitHub 如何幫助我的工作,怎麽提升我的工作效率?
問到點子上了,GitHub 其中一個最重要的作用就是發現全世界最優秀的開源項目,你沒事的時候刷刷微博、知乎,人家沒事的時候刷刷 GitHub ,看看最近有哪些流行的項目,久而久之,這差距就越來越大,那麽如何發現優秀的開源項目呢?這篇文章我就來給大家介紹下。
1. 關註一些活躍的大牛
GitHub 主頁有一個類似微博的時間線功能,所有你關註的人的動作,比如 star、fork 了某個項目都會出現在你的時間線上,這種方式適合我這種比較懶的人,不用主動去找項目,而這種基本是我每天獲取信息的一個很重要的方式。不知道怎麽關註這些人?那麽很簡單,關註我 stormzhang ,以及我 GitHub 上關註的一些大牛,基本就差不多了。
2. Trending
點擊下圖的 Explore 菜單到“發現”頁面
緊接著點擊 Trending 按鈕
這個 Trending 頁面是幹嘛的呢?直譯過來就是趨勢的意思,就是說這個頁面你可以看到最近一些熱門的開源項目,這個頁面可以算是很多人主動獲取一些開源項目最好的途徑,可以選擇「當天熱門」、「一周之內熱門」和「一月之內熱門」來查看,並且還可以分語言類來查看,比如你想查看最近熱門的 Android 項目,那麽右邊就可以選擇 Java 語言。
這樣頁面推薦大家每隔幾天就去看下,主動發掘一些優秀的開源項目。
3. Search
除了 Trending ,還有一種最主動的獲取開源項目的方式,那就是 GitHub 的 Search 功能。
舉個例子,你是做 Android 的,接觸 GitHub 沒多久,那麽第一件事就應該輸入 android 關鍵字進行搜索,然後右上角選擇按照 star 來排序,結果如下圖:
如果你是學習 iOS 的,那麽不妨同樣的方法輸入 iOS 關鍵字看看結果:
可以看到按照 star 數,排名靠前基本是一些比較火的項目,一定是很有用,才會這麽火。值得一提的是左側依然可以選擇語言進行過濾。
而對於實際項目中用到一些庫,基本上都會第一時間去 GitHub 搜索下有沒有類似的庫,比如項目中想采用一個網絡庫,那麽不妨輸入 android http 關鍵字進行搜索,因為我只想找到關於 Android 的項目,所以搜索的時候都會加上 android 關鍵字,按照 star 數進行排序,我們來看下結果:
可以看到 Retrofit、OkHttp、android-async-http 是最流行的網絡庫,只不過 android-async-http 的作者不維護了,之前很多人問我網絡庫用哪個比較好?哪怕你對每個網絡庫都不是很了解,那麽單純的按照這種方式你都該優先選擇 Retrofit 或者 OkHttp,而目前絕大部分 Android 開發者確實也都是在用這兩個網絡庫,當然還有部分在用 Volley 的,因為 google 沒有選擇在 GitHub 開源 volley,所以搜不到 volley 的上榜。
除此之外,GitHub 的 Search 還有一些小技巧,比如你想搜索的結果中 star 數大於1000的,那麽可以這樣搜索:
android http stars:>1000
當然還有其他小技巧,但是我覺得不是很重要,就不多說了。
有些人如果習慣用 Google 進行搜索,那麽想搜索 GitHub 上的結果,不妨前面加 GitHub 關鍵字就ok了,比如我在 google 裏輸入 GitHub android http ,每個關鍵字用空格隔開,然後搜索結果如下:
可以看到,基本也是我們想要的結果,只不過排序就不是單純的按照 star 來排序了。
福利大放送
相信以上三種方法夠大家遨遊在 GitHub 的海洋了,最後給大家獻上一些福利,這些項目是 GitHub 上影響力很大,同時又對你們很有用的項目:
-
free-programming-books
這個項目目前 star 數排名 GitHub 第三,總 star 數超過6w,這個項目整理了所有跟編程相關的免費書籍,而且全球多國語言版的都有,中文版的在這裏:free-programming-books-zh,有了這個項目,理論上你可以獲取任何編程相關的學習資料,強烈推薦給你們!
-
oh-my-zsh
俗話說,不會用 shell 的程序員不是真正的程序員,所以建議每個程序員都懂點 shell,有用不說,裝逼利器啊!而 oh-my-zsh 毫無疑問就是目前最流行,最酷炫的 shell,不多說了,懂得自然懂,不懂的以後你們會懂的!
-
awesome
GitHub 上有各種 awesome 系列,簡單來說就是這個系列搜羅整理了 GitHub 上各領域的資源大匯總,比如有 awesome-android, awesome-ios, awesome-java, awesome-python 等等等,就不截圖了,你們自行去感受。
-
github-cheat-sheet
GitHub 的使用有各種技巧,只不過基本的就夠我們用了,但是如果你對 GitHub 超級感興趣,想更多的了解 GitHub 的使用技巧,那麽這個項目就剛好是你需要的,每個 GitHub 粉都應該知道這個項目。
-
android-open-project
這個項目是我一個好朋友 Trinea 整理的一個開源項目,基本囊括了所有 GitHub 上的 Android 優秀開源項目,但是缺點就是太多了不適合快速搜索定位,但是身為 Android 開發無論如何你們應該知道這個項目。
-
awesome-android-ui
這個項目跟上面的區別是,這個項目只整理了所有跟 Android UI 相關的優秀開源項目,基本你在實際開發終於到的各種效果上面都幾乎能找到類似的項目,簡直是開發必備。
-
Android_Data
這個項目是我的邪教群的一位管理員整理的,幾乎包括了國內各種學習 Android 的資料,簡直太全了,我為這個項目也稍微做了點力,強烈推薦你們收藏起來。
-
AndroidInterview-Q-A
這個就不多說了,之前給大家推薦過的,國內一線互聯網公司內部面試題庫。
-
LearningNotes
這是一份非常詳細的面試資料,涉及 Android、Java、設計模式、算法等等等,你能想到的,你不能想到的基本都包含了,可以說是適應於任何準備面試的 Android 開發者,看完這個之後別說你還不知道怎麽面試!
總結
GitHub 上優秀開源項目真的是一大堆,就不一一推薦了,授人以魚不如授人以漁,請大家自行主動發掘自己需要的開源項目吧,不管是應用在實際項目上,還是對源碼的學習,都是提升自己工作效率與技能的很重要的一個渠道,總有一天,你會突然意識到,原來不知不覺你已經走了這麽遠!
出處:微信公眾平臺: AndroidDeveloper「googdev」
本站文章除註明轉載外,均為本站原創或編譯。歡迎任何形式的轉載,但請務必註明出處,尊重他人勞動共創開源社區。 轉載請註明:文章轉載自 開源中國社區 [http://www.oschina.net] 本文標題:如何在 Github 上發現優秀的開源項目? 本文地址:https://www.oschina.net/news/75674/how-to-find-good-opensource-object如何在 Github 上發現優秀的開源項目?