先看再點贊,給自己一點思考的時間,微信搜索【 沉默王二 】關注這個靠才華苟且的程序員。

本文 GitHub github.com/itwanger 已收錄,裏面還有一線大廠整理的面試題,以及我的系列文章。

前幾天,看到一位朋友程序員小浩在文章裏分享他的開源項目,上了 GitHub 的趨勢日榜單,並且成功排名第一。我表示很酸,因爲我也想有一個上千 star 的開源項目,到時候就可以肆無忌憚地吹牛逼了。

對於優秀的程序員來說,搜索引擎就該用 Google,找開源項目就該用 GitHub,找答案就該用 Stack Overflow,對吧?

如果能夠擁有一個 star 數上萬的 GitHub 倉庫,那簡直就是偶像級的開源作者。出去找工作的時候,在簡歷上就那麼一曬,面試官就啞口無言了。

不過現實往往比較骨幹,來看看我的 GitHub 倉庫就能感受到了。

最多 star 的還是多年前寫的一個二維碼分享海報的倉庫,僅僅 48 個,慘不忍睹啊,可憐得我一把鼻涕一把淚啊。可能有些讀者看到這幅圖後會覺得不舒服,“二哥,你可是我的偶像啊,怎麼 GitHub 這麼弱!”

但在我看來,挺正常的,一個人的精力是有限的,做到全方面優秀的都是屈指可數。況且,我看到了巨大的潛力,對,我的 GitHub 上升空間很大,只要我能拼一拼,超過 48 個 star 的倉庫應該能實現吧?!

對於大多數普通的程序員來說,包括我,雖然不能成爲優秀的開源作者,但利用 GitHub 找到一些優質的開源項目還是很有必要的。造輪子咱不行,“拿來主義”還不行?那怎麼找到這些優質的開源項目呢?

01、GitHub 上直接搜項目

GitHub 主頁上會有一個搜索框,直接在裏面搜項目的關鍵字就行了,比如說微信支付這個關鍵字。

目前能搜到 2754 個倉庫,比較多。

這種搜索的方式等同於在搜索框中加了一個 in:description 或者 in:about

那這個 description 和 about 又是什麼意思呢?指的是倉庫的簡介,見下圖的紅色框區域。

那 in 後的關鍵字還有沒有別的呢?有,可以是 in:readme

對於大部分中文的倉庫來說,readme 部分是最詳細的。區分一個倉庫優質不優質,就看 readme 部分寫得夠不夠認真。

我的個人博客用的 GitHub Pages, 地址如下:

https://github.com/itwanger/itwanger.github.io

我昨天剛把這個倉庫的 readme 整了整,比之前看起來高大上多了。自我感覺良好,以後我要花點精力好好維護下,讀者朋友們敬請期待啊,我敢肯定,在不久的將來,star 數肯定會超過 48,我敢賭 100 塊!

那通過 in:readme 後的倉庫數量有點多,達到了 16432 個,也太多了,怎麼能精選一下呢?

一個倉庫之所以優質,就在於它的 star 數是否足夠多,因此可以在後面加上 stars>2000 ,這樣過濾後的結果就少了很多。

02、GitHub 上直接搜作者

重要的參數有下面這 4 個,location 是所在的國家,language 是編程語言,followers 是關注人數,fullname 是作者名。

比如我搜 location:china followers:>4000 ,注意左側選中「Users」,排名比較靠前的兩位是阮一峯和尤雨溪大佬。

查看一下尤雨溪大佬的主頁,頭像真的非常清秀帥氣,我第一印象知道想到了誰嗎?徐志摩。前端框架 Vue.js 的作者, 真的非常牛逼了。

作者牛逼,那自然他的項目也就優質——基本上是個不可推翻的定理。

03、Google 直接搜

還拿之前“微信支付”這個關鍵字,百度搜到的結果如下所示:

換成 Google 呢?

對,第一個就是我想要的。

star 數高達 20k,可以說非常優質的項目了。我在做商城的時候就用的這個,微信開發的 Java SDK,支持包括微信支付、開放平臺、公衆號、企業微信/企業號、小程序等微信功能的後端開發。

04、GitHub Trend

對,就是文章開頭提到的 GitHub 趨勢榜,地址如下:

https://github.com/trending

就如宣傳語裏說的,瞭解 GitHub 社區今天最激動人心的倉庫或者作者。下圖中第四位就是小浩的,牛逼牛逼。

可以選擇編程語言,也可以選擇日榜、周榜、月榜。

選擇作者的話,可以看到一些優質的項目。

05、GitHub Topics

GitHub Topics 展示了最新和最流行的討論主題,在這裏不僅能夠看到開源項目,還能看到更多非開發技術的討論主題。地址如下:

https://github.com/topics

不過,主題這塊有個缺點,就是它的排序是按照首字母從 A 到 Z 的排列,這就導致如果我想看 Java 的話,就需要 load more 再 load more,再 load more,嗯,還是看不到。

希望 GitHub 在這方面改進一下,最起碼可以選擇一下。幸好幸好,load more 下面有一個 popular,裏面有 Java 的標籤。

點擊標籤就可以跳轉到 Java 的主題了,排名第二的竟然是我的好朋友 guide 哥的倉庫,star 已經 84k+ 了,牛逼牛逼。

06、GitHub Explore

Explore 就是探索的意思,它會根據你的喜歡智能化地推薦一些項目。地址如下所示:

https://github.com/explore

我不知道這個探索算法是怎麼算的,感覺給我推薦的項目還不夠優秀,可能是我自己的 GitHub 還不夠優秀吧。

07、牛人推薦

很多大學生讀者問我,“二哥,聽說現在公司招聘的時候非常看重項目經驗,可我在大學的時候沒有項目經驗啊!怎麼辦?”

看 GitHub 上那些大牛們的開源項目,就是增加項目經驗的一個很好的辦法。把開源項目 down 到本地,然後看源碼自己研究,順帶在原有的基礎上補充一些功能,是不是就有項目經驗了?

本身這些開源項目都是非常優質的,但功能並不會非常全面,畢竟作者的精力和時間有限。

雖然我不是 GitHub 上牛逼的作者,但摸着良心講,開發經驗還是非常充足的,所以我推薦的項目還是非常值得去學習的。

第一個,微人事(vhr),我的好朋友江南一點雨的。

推薦很多次了,我覺得有必要找他要一個貢獻者的角色,以後我也可以出去吹牛逼了。

第二個,電商系統(mall),我的好朋友 macrozheng 的。

我們公司的商城系統升級的時候,就用了他這個作爲地基,真的是非常給力的一個開源項目。

08、最後

發現了優質項目,不只是要去 star 它,最好 fork 到自己名下,去研究研究源碼。

如果可以的話,可以嘗試去解決幾個 issue,提幾個 pull Request,如果能混到一個貢獻者的名額,就開心了哈,畢竟自己頭像出現在 readme 裏也是非常驕傲的一件事。

最後,希望讀者朋友們都能夠玩的開心,畢竟 GitHub 是全球最大的同性交友社區(狗頭)。

我是沉默王二,一枚有顏值卻靠才華苟且的程序員。 關注即可提升學習效率,別忘了三連啊,點贊、收藏、留言,我不挑,奧利給

最近,有很多讀者問我,有沒有大廠的面經?那問二哥就對了,微信搜索「沉默王二」,回覆「 面試 」就有三份我精心爲你準備的刷題寶藏,本文 GitHub github.com/itwanger 已收錄,歡迎 star。

相關文章