如何精進程式開發能力

如何透過閱讀程式,參與開源軟體社群來精進程式開發

因疫情關係,改為線上,歡迎加入:https://teams.live.com/meet/95579649966255

廖峻鋒教授 / 政治大學

陳錫民教授/逢甲大學

程式碼的閱讀與解析

無論是觀摩、維護或是重用程式碼,都必須識讀與解析程式碼。軟體在其生命週期中,大部份的時間是被人閱讀並維護,在實務上常前許多共同基礎功能很少由開發人員手動重新開發,大部份會從開放源碼庫(如github)取出部份,再修改成合用的樣子。理解程式碼整體運作與架構理解能力,對標定最適合新增功能或修改的處所來說非常關鍵。藉由觀摩專業人員寫作的程式碼,能學到解決同一個問題較好的做法,也能學習不同編程風格,訓練運用多種角度看待同一個問題。然而,由於大部份程式從基礎教學開始就著重「寫」而輕忽識讀(Code Reading),常導致開發人員在未足夠理解程式架構前就開始動手,甚至於傾向直接重寫而非重用。程式碼識讀與解析需具備的能力,除要能理解整體運作方式,亦解析所能完成的功能及完成此功能的運作邏輯。隨著程式碼數量的大小,層次亦有高低之分,識讀重點亦有不同。例如在50行的層次,識讀主要是去了解各步驟結合起來運作後的目的;在500 行的層次,識讀主要是去理解程式運行的結構與樣式(Patterns),而在5000行以上,識讀主要是在檢視軟體設計的整體架構。「教育部推動大學程式設計教學計畫」將程式碼的識讀與理解列為重要推動項目,本次短講主要目的為分享計畫分項在上述議題於現階段的進展,期待拋磚引玉,敬請各界專家學者不吝賜教。

開源軟體社群參與和開發- 以 Jenkins 為例

DevOps是近年來備受軟體公司關注的軟體工程技術,DevOps技術多由開源軟體工具所建構的生態系來支持,DevOps又可進一步地分為持續整合與持續部署二階段,在此演講中,講者將介紹在持續整合階段被廣泛採用的持續整合開源工具-Jenkins,其主要功能是為每一次交付的程式碼變更,進行各種自動化的靜態分析與動態檢測,以確保整合進系統的變更沒有問題,講者除了介紹Jenkins的功能與應用外,同時分享參與Jenkins開源社群的經驗,包含了解開源社群的成員結構、開源程式碼的識讀、開發議題的選擇以及修復議題的流程等。

(名額有限,請即早報名,5/10 會通知是否報名成功)