開源專案初體驗 — 解 Issue 心得分享

Alan Syue
4 min readSep 13, 2020

photo needpix

自從參加了今年的 開源人年會(COSCUP),看到許多人努力貢獻開源專案,以及最近讀了 Starbugs Weekly 星巴哥技術專欄別猶豫了,今天就上 Github 參與開源專案吧! 便對貢獻開源專案躍躍欲試。

第一次貢獻開源經驗

記得在還沒轉職工程師之前,因工作上需求,想獲取 Google Play 商店上 APP 的評論資訊,在 GitHub 上找到一個開源專案,但有些地方已經年久失修了,於是就 fork 一份回去修改,發 PR 給原作者也被 merge,應該算是第一次貢獻開源的經驗(?)

參考文章:3 步驟獲取Google Play 中APP數據 — Python 爬蟲

被 merge 的 PR

從碰過的專案找 Issue

根據 別猶豫了,今天就上 Github 參與開源專案吧! 文章建議,可以先挑自己有在用的 Library 或開發工具開始,不過我倒是找了之前覺得很有趣的專案:Alex-Rose/fb-messenger-cli,之前覺得很有趣還有寫了一篇 上班一定要看(誤) | fb-messenger-cli 專案使用分享

雖然作者已經有段時間沒在更新了(上次 commit 時間是 2019–08–08),不過我還是到 Issues 去找找有什麼我這初心者能幫忙的。

有許多 Issues

剛好看到一個 Issue 是 #218 Crashing when trying to logout after resetting fb password,問題大致上是說:

使用 npm install 完 fb-messenger-cli,下了 /logout 指令後,跳出以下錯誤訊息

錯誤訊息

看起來不是太難的問題,應該蠻適合我來嘗試看看。

開始解決問題

我也嘗試下 /logout 指令,確實出現一樣的錯誤訊息:

於是我 clone GitHub 上的原始碼,看了一下錯誤訊息的位置,程式碼看起來沒什麼問題,使用 fs.unlink 有加上 callback function。

執行 clone 回來的程式碼,下 /logout 指令也沒有錯誤訊息

後來直接去查看 yarn、npm 載回來最新版 2.1.1 的程式碼,出錯的程式碼竟然跟 GitHub 上的不一樣,看起來就是這個問題啦。

回覆 Issue

於是我把發現的問題回覆到原 Issue,也剛好看到有人回報一樣的 Issue,於是就兩個一起回,但也發現 我的英文真的超級爛 ,怎麼寫看起來都怪怪的,於是找人幫我修修句子,便留言回覆。

不過詢問者已經沒有在使用這個專案了,它就先把這個 Issue close。

總結

雖然這次先嘗試解決小 Issue,但過程真的蠻有趣的,之前在使用此工具也沒有很認真研究是怎麼做的,也透過這次機會了解一下作者怎麼設計和撰寫程式碼,覺得挺有趣的,希望往後能在嘗試解決其他 Issue,甚至是實作 Feature 發 PR 被作者 merge。

Sign up to discover human stories that deepen your understanding of the world.

Free

Distraction-free reading. No ads.

Organize your knowledge with lists and highlights.

Tell your story. Find your audience.

Membership

Read member-only stories

Support writers you read most

Earn money for your writing

Listen to audio narrations

Read offline with the Medium app

Alan Syue
Alan Syue

Written by Alan Syue

Backend Engineer at UPN | Love to share everything

No responses yet

Write a response