「函式庫版本不是越新越好嗎?為什麼還需要通過PR?」勇者很疑惑。
「話可不能這樣說啊!版本有更新就表示可能規格有改,那就會產生落差。比如說之前手機的生物辨識流行的是指紋辨識,而現在則是臉部辨識。硬體上的需求就不一樣了,一個是指紋感應器,一個是相機。而且有的函式庫還會根據執行的平台不同,進行不同技術的改善。」蕭凱琪喜歡指紋辨識,因為不用脫口罩,而且很喜歡按壓的回饋感,可惜聽說那個指紋感應器按鈕也最容易壞,所以只好忍痛用臉部辨識的手機。
因為指紋辨識,屬於特定用途的功能,而臉部辨識只需要一般相機搭配軟體,降低維護成本。如果需要更精準的辨識,那時就再加裝紅外線攝影機或深度感測器。
「所以每次引進新版本都要測試過一遍,確認沒有問題才能安心。」蕭凱琪嘆氣完後繼續說:「而且有些函式庫並不單純,它會引用其他函式庫,造成一堆函式庫錯綜複雜的依賴關係,運氣不好的時候,兩個函式庫引用的版本不同,我們還得調解關係。」
「要怎麼知道函式庫的依賴關係?」勇者問。他之前已經看過許多開源專案的build.gradle.kts檔案,知道專案主動引用的函式庫都放在這個檔案裡。
蕭凱琪打開IntelliJ IDEA,指著下方的Dependencies說:「先把專案下載回來,然後用IntelliJ IDEA打開專案之後稍等一下就會出現在這裡了。IntelliJ IDEA會自動開始構建依賴關係。對了,這個時候網路要開著唷。因為這些函式庫通常是從Maven或JCenter那裡遠端下載的。」蕭凱琪說完後,就一臉哀怨的看著緩慢的進度條。「不知道是用了代理伺服器還是防火牆的原因,下載速度好慢啊。」
蕭凱琪不耐煩,於是扔下電腦站了起來。
「今天是約定的兩週的最後一天了,我可不想把時間消耗在這裡。」蕭凱琪兩手緊緊抓著勇者,語帶沈重:「你好好努力啊,只要撐三個月就好了,有什麼不懂的就問職場前輩,如果前輩不喜歡開口說話或討厭被打斷思緒,就用文字訊息,大家通常會在休息的時候看訊息。如果發現問太多,前輩不耐煩,可以換人問或是買個飲料給他,畢竟大家手上也有工作要趕,幫新人不是義務。」
勇者做出鄭重的承諾:「我會的,不會浪費妳的指導,祝妳之後也一切順利。」
離別在即,每人都有要做的事,也許哪天會再次相見,希望那時彼此都過得很好。