蕭凱琪嚴肅的對勇者說:「所以專案公開程式碼,可以看到它拿了哪些資料,又用於哪些用途。但不要因為公開就認為安全了,之前曾經有人沒檢查程式碼就使用了有問題的登入登出畫面套件,讓自己系統的會員資料不停被傳到別人的伺服器。」
蕭凱琪拍拍勇者的肩膀:「你現在只是用來當學習資料所以沒差。但是等你將來有些功能想用別人開發好的現成函式庫時,最好找有信用、有名聲的開發者,他們有些人甚至會審核協作者提供的程式碼。」
「難怪妳只介紹template和sample,而不介紹函式庫,是怕有問題吧?」勇者覺得自己看破了真相。
「呃,我也有介紹Exposed、Ktor、Koin等等啊,他們都有超過七千顆星。」蕭凱琪眼神飄忽不定。
「這些都是框架啊!」勇者睜大眼睛,一臉你別糊弄我啊。
心虛的蕭凱琪沒注意到她說的那幾個例子,剛好都在About欄位中寫明是框架了。
「好啦,都是框架沒錯,所以更可以刺激你的程式思維能力呀。說到這裡,要不要順便為這些開源專案做貢獻啊?」蕭凱琪將電腦畫面移動到Koin貢獻頁面上的眾多頭像。「這也會對履歷加分唷。」
勇者看著蕭凱琪確認對方不是開玩笑,於是更困惑了。「可是我的程式碼能力還不成熟啊。」
「不是只有寫程式碼的才算有貢獻。寫說明文件、宣傳專案或是提問,也包含在內啊。」蕭凱琪解釋道。
當然寫程式碼是最直接的貢獻,但是所有變更都必須通過PR的方式,經過專案維護者同意才能合併進去。
蕭凱琪指著畫面要勇者看:「你看,Ktor的Pull Request有些也只是關於依賴函式庫版本的提升。」
PR(Pull Request)是開發者提交他們的程式碼變更以供其他開發人員檢閱、討論和合併的過程。這是一種程式碼協作的方式,主要用於版本控制系統(如Git)中。之前提到的Code Review也很多人是採用這種協作的方式。
蕭凱琪把畫面切換到Github Issues分頁,說:「有時候你對專案的提問,會讓他人發現可以改善的空間。有些專案甚至還會專門開放Slack頻道討論,你可以先進去看看他們在討論什麼,不用急著發言。」