【硬核干貨】如何高效找到優(yōu)質(zhì)編程項目?
大家都知道,想學好編程、豐富簡歷、提升求職競爭力,一定要多敲代碼做項目。
說到項目,我最近收到了很多小伙伴的私信和困惑,最常見的是以下兩個情況:
不知道到哪兒去找編程項目,只能四處求人
網(wǎng)上的編程項目太多,不知道哪些項目值得學習
那這篇文章就教大家如何高效找到優(yōu)秀編程項目。
讀完本文,不僅能幫助你告別伸手黨,甚至還能讓你成為一個項目分享大神!

下面我們依次去解決四個問題:
到哪兒去找項目?
什么是好的項目?
怎么高效找項目?
怎么高速下載項目?
到哪兒去找項目?
有很多獲取項目的途徑,比如書上習題、網(wǎng)絡課程、線下培訓等,但最好的找項目的地方一定是 GitHub,程序?qū)萌吮M皆知的代碼開源托管平臺。
在這里,你可以找到各種各樣的開源項目,大到世界知名框架、小到個人練習片段,還能和他人一起協(xié)作完成項目。利用好 GitHub,可以大大開拓你的眼界,提升編程學習能力。

這里提及另外兩個找項目的平臺,即 Gitee(碼云)和開源中國。Gitee 其實就是國內(nèi)版的 GitHub,但項目數(shù)遠不及 GitHub;而開源中國和 Gitee 有非常緊密的合作,將一些開源項目進行了整理分類。
GitHub 平臺是非常大的,在這里,每天有無數(shù)個新項目產(chǎn)生、有數(shù)億行代碼被提交,讓人眼花繚亂、迷失方向。那么如何從海量的項目中大浪淘沙,快速發(fā)現(xiàn)那些優(yōu)秀的、或者極具潛力的開源項目呢?
首先我們要明確什么是好的項目。
什么是好的項目?
雖說沒有最好的項目,只有最適合自己的項目。但是在 GitHub 上,通過一些指標和信息,也可以對開源項目進行基本的評判。
進入一個項目的詳情頁,一個好的項目通常具有如下特點:
更多的 watch,表示對項目的關(guān)注度高
更多的 star(收藏),對項目實用性的肯定
更多的 Fork(派生搬運),表示想要學習項目或做貢獻
積極的 issues(問題),表示更多人使用項目并希望改進
積極的 Pull requests(代碼合并請求),表示更多人愿意合作貢獻代碼
頻繁更新最近提交時間,表示項目仍在維護
可直接訪問的官網(wǎng),更正式
類別標簽明確,幫助開發(fā)者對項目進行定位

再往下看,一個好的項目的 README.md(項目描述)文件通常會更清晰和完善,比如 Ant Design 提供了多種語言的文檔:

明確了優(yōu)秀項目的特點后,如何高效地在 GitHub 上找項目呢?
怎么高效找項目?
下面分享查找 GitHub 優(yōu)秀項目的高級技巧和免費資源,多達 數(shù)十種!選擇自己適合的即可。
GitHub 搜索
GitHub 既然收錄了那么多項目,自然也會提供一套幫助你找項目的搜索機制,運行好搜索機制,可以靈活高效地找到適合自己的項目。
可以直接輸入關(guān)鍵詞搜索,再配合排序規(guī)則,能夠較方便地找到優(yōu)秀項目。

大多數(shù)情況下,簡單搜索就夠了,但有時,排名最靠前的項目未必是我們需要的。比如有一個曾經(jīng)很知名的項目,卻停止維護多年,我們也不敢輕易去使用它。
GitHub 還提供了條件搜索,通過輸入特定的搜索表達式,來實現(xiàn)更高精度的過濾,從而找到更符合預期的項目。
比如搜索自述文件中包含 jquery
、star 超過 1000、且上次更新時間在幾年內(nèi)的倉庫:

有很多過濾條件,但是 完全無需記憶!因為 GitHub 提供了 高級搜索,可以自動生成搜索表達式:

還可以通過 GitHub 文檔(docs.github.com)來瀏覽所有的搜索條件。

Explore GitHub
GitHub 官方探索,基于興趣為你推薦開源項目,精準度很高!

Topics on GitHub
GitHub 官方提供的項目主題分類,幫助你找到合適的項目。

GitHub Awesome
GitHub 官方提供的 Awesome 合集,幫助你發(fā)現(xiàn)特定標簽的資源大全。
Awesome 項目是指由社區(qū)同學共同貢獻而成的項目,包含了某一技術(shù)的完整生態(tài)(如優(yōu)秀開源項目、類庫、工具、知識點)。比如awesome-java(https://github.com/akullpp/awesome-java)、awesome-vue(https://github.com/vuejs/awesome-vue)。建議大家多看awesome項目,學習和查漏補缺都是極好的~

GitHub 官方 Trending
GitHub官方提供的項目趨勢統(tǒng)計,能夠看到一段時間內(nèi)項目和開發(fā)者新增star數(shù)的排行。還支持選擇語言、編程語言及時間范圍,幫你發(fā)現(xiàn)優(yōu)秀、有潛力的開源項目。

HelloGitHub
分享 GitHub 上有趣、入門級的開源項目。這里有各種語言的開源項目、讓生活變得更美好的工具、書籍、學習筆記、教程等。通過這些項目你將學習到更多編程知識、提高自己的編程技巧、發(fā)現(xiàn)編程的樂趣。

GitHub Trending
GitHub 趨勢統(tǒng)計,幫助你尋找最好的Github項目,支持選擇特定的語言來篩選項目。

Gitstar Ranking
非官方的 GitHub 排行榜,按照 star 數(shù)進行排序,支持個人、組織和項目排行。能夠發(fā)現(xiàn)成熟又活躍的優(yōu)秀項目。

Githuber.cn
發(fā)現(xiàn)優(yōu)秀 GitHub 開發(fā)者的網(wǎng)站,可以查看國內(nèi)倉庫語言使用情況統(tǒng)計、GitHub 開發(fā)者排名等,還能查看自己的排名哦~

searchcode
如果你想搜索代碼片段,可以使用 searchcode,簡單全面的開源代碼搜索器,一鍵在 40 萬個項目、750 億行代碼中高效搜索,還提供 API 接口。幫助您在 243 個語言中找到函數(shù)、API 和庫的示例,跨越 GitHub 等 10 個公共代碼來源!還可以使用其提供的 API 接口,給網(wǎng)站添加代碼搜索功能。

LibHunt
匯集了 GitHub 上實用的開源項目和軟件類庫,讓編程人員快速發(fā)現(xiàn)好的項目。支持近 20 種不同編程語言的項目,以及各種熱門標簽,可以快速搜索,還能查看項目熱度。

codelf
雖然是變量命名神器,但由于其底層基于 searchcode 開發(fā),因此也可以用于快速搜索代碼和項目。
輸入關(guān)鍵詞后,可以選擇和關(guān)鍵詞相關(guān)的標簽,一鍵跳轉(zhuǎn)至項目代碼。

怎么高速下載項目?
由于 GitHub 是國外的網(wǎng)站,所以有時我們下載 GitHub 項目的速度非常慢,這里教大家?guī)追N提升下載速度的方式。
GitClone
GitHub 緩存加速網(wǎng)站,為開發(fā)者服務。直接在命令行更改倉庫地址即可使用,上手方便,緩存節(jié)點多,是最推薦的一種方式!

GitHub 加速下載工具
網(wǎng)上有很多在線的 GitHub 加速下載工具,使用起來都很方便。
Gitee 導入
可以直接在 Gitee(國內(nèi)版 GitHub)創(chuàng)建倉庫,并選擇從 GitHub 導入。Gitee 會自動將代碼從 GitHub 進行同步,然后你就可以在 Gitee 以更快的速度來下載和管理項目代碼。
以上就是發(fā)現(xiàn)優(yōu)質(zhì)編程項目的分享,如果想要徹底玩轉(zhuǎn) GitHub,建議閱讀 GitHub 官方文檔。
如果想要給項目貢獻代碼,掌握版本控制工具 Git 的用法也是至關(guān)重要的,后面會分享 Git 相關(guān)的學習資源。