作者序一:陳坤裕

獨自坐在電腦螢幕前,滿腔熱血想要探索開源專案原始碼,企圖了解這些原始碼是如何組合、相互作用,進而成了現在你我最常用的工具。然而這滿腔熱血,卻在打開程式碼後降到冰點。因為不知如何切入,且顯現在眼前的程式碼與專案架構是那麼複雜與龐大。說是天書似乎也不誇張。

上面一段描述,相信是不少程式初心者遇到的挫折。實話說,筆者也遇過如此挫折。進入職場後,時常好奇工作上使用的軟體或工具背後,究竟是如何撰寫成。因此筆者決定跟開源專案原始碼來一次正面對決。看不懂的,想辦法理出頭緒再看一次,從某角度切入若不行,就換個角度再來一次。想不到,很多看不懂的地方漸漸看懂,甚至體會開發者的巧思與用心,一次次令人拍案叫絕。精彩程度好比看漫畫名偵探柯南,在盡力蒐集線索後,可能卡關卡很久,但只要不放棄,就會在某個時刻這些線索突然全被串起,找出關鍵,進而破案。另外,此過程也很像考古學家,針對埋藏在地底下的古物,考古學家以刷子,輕輕的拂去表面上的塵土,考古物輪廓越來越清晰,最後出土得以展示於世人面前。你說,這樣的過程是不是很有趣呢?

光是看 code 本身就這麼有趣了,那過程中,我們可以學習到什麼呢?我們可以學習好的 design pattern、好的 code snippet、好的開發框架等。就算看的程式碼都是負面案例我們也可從中借鏡,提醒自己莫犯同樣錯誤。相信認真走過一次的人一定可以體會筆者所說。

本文章目的有二,一為紀錄筆者探索開放原始碼時所發展與實際運用之技巧,二為將此心得整理,與其他程式初心者分享。希望大家能體會到筆者追 code 時所有的樂趣,不再將此事視為苦差事,進而提昇自我實力並貢獻己力至開源軟體。

陳坤裕 寫於高雄路竹

備註: 此心得已於 PyConTW 2017 與 COSCUP 2018 中分享

PyConTW 2017 介紹頁面:https://bit.ly/2Q43FM4 演講影片:https://bit.ly/2PuCtce 投影片: https://bit.ly/2Q39Xvp COSCUP 2018 介紹頁面:https://bit.ly/2Oaq60h 投影片: https://bit.ly/2SrDhgO

Last updated