【碩博士生如何用工程師思維來提升程式閱讀與研究能力?】

更新於 2024/10/23閱讀時間約 5 分鐘


對於數學或理論背景的碩博士生來說,學習編程往往是一項挑戰。特別是在閱讀原始碼時,我們習慣以數學的邏輯思考——從函數定義開始,再逐漸推演具體的應用。但日本作者西尾泰和在《エンジニアの知的生産術》中提出的閱讀原始碼順序,讓我重新思考了程式閱讀的策略。


他的框架讓我體會到,工程師思考的重點是「先掌握全局,再逐層深入」,這種系統化的閱讀方式能有效提升學習效率。以下是他提出的閱讀原始碼的七個步驟,以及我對如何套用在研究中的思考:


1. 如果有解說內部構造的文檔,就先讀

2. 讀目錄資料夾 (Directory) 的構造

3. 讀檔案 (File) 的構成

4. 調查各種簡寫

5. 了解數據 (Data) 的結構

6. 把握函數之間的關係

7. 最後才深入閱讀函數

raw-image


▋數學思維與工程思維的差異


數學背景的訓練通常從函數定義開始,並專注於理論與公式的邏輯一致性。我們往往在抽象層面完成推演後就結束討論,很少深入探討具體的實作細節。


但西尾泰和的框架提醒我,工程師的思維是從系統輸出開始,然後一步步回推,直到釐清每個輸入、處理環節與輸出之間的關係。這種先掌握全局、再逐步拆解的方式,與數學的「由小到大」推演完全相反。


這種工程思維讓我理解到,編程不只是寫出函數,更重要的是理解整個系統如何協同運作,並在系統中找到最有效率的解法。


▋如何練習工程師的程式閱讀思維


為了從數學思維切換到工程思維,我開始嘗試用西尾泰和的步驟來閱讀新的程式碼。以下是我將這七個步驟應用於工作中的具體做法:


1. 先看說明文件|閱讀專案的內部說明文件,快速了解系統的運作目的與整體架構。這能幫助我在閱讀程式碼前,掌握輸出目標。


2. 檢視目錄結構|了解程式專案中資料夾的邏輯排列,搞清楚不同模組的責任範圍,建立初步的全局認知。


3. 理解檔案構成|深入研究各檔案的功能與用途,釐清它們如何共同構成完整系統。


4. 調查簡寫與縮寫|針對程式中的縮寫或專有名詞,透過查詢補充知識,避免因不熟悉術語而卡住。


5. 把握數據結構|理解資料如何在系統中流動,這一步能幫助我釐清資料處理的邏輯,避免後續錯誤解讀。


6. 建立函數之間的關係圖|繪製出各個函數之間的相互關聯,這讓我能夠直觀理解哪些函數負責哪些環節的處理。


7. 最後深入閱讀函數細節|在掌握了全局與結構後,再進一步研究每個函數的具體實作。這時,閱讀函數的效率會大幅提升。


▋如何在研究專案中應用工程師思維


我發現,這種「從輸出目標開始,逐步拆解系統」的方式,不只適用於程式碼閱讀,對碩博士研究也非常有幫助。以下是我實踐的幾個步驟:


1. 設定研究的最終成果|從期刊論文或研究報告的預期成果開始,思考這篇論文需要回答什麼問題、解決什麼難題。


2. 明確研究輸入|確認研究需要哪些資料或工具作為輸入,例如數據集、實驗設備或程式模組。


3. 規劃研究過程中的每個環節|拆解整個研究過程,包括資料收集、分析方法、理論驗證等,確認每一環節的預期成果。


4. 每週檢視進度與拆解問題|每週逐步檢討研究進度,針對每個環節中的問題深入追問。這能讓研究不斷向前推進,並且在遇到瓶頸時,快速找出解法。


5. 在10到12週內達成階段性成果|透過每週的逐步累積,在一個學期內完成具有明確成果的研究報告或論文。


▋小結:從全局掌握到逐步實踐


透過這幾年的學習與實踐,我逐漸體會到,程式設計不只是寫出正確的程式碼,而是要掌握整個系統的運作。研究工作也是如此,我們必須先定義最終目標,然後逐層拆解問題,直到每個細節都清晰可見。


無論是在閱讀程式碼還是進行研究,這種工程師的思維都能幫助我們有效管理工作進度,避免迷失在細節中。希望這些心得能幫助碩博士生們,在學習程式設計或進行研究時,更加順利有效地完成每個階段的目標。

avatar-img
526會員
1.8K內容數
Outline as Content
留言0
查看全部
avatar-img
發表第一個留言支持創作者!
王啟樺的沙龍 的其他內容
對於碩博士在學學生來說,如何取得高效的資訊來源是關鍵課題。大部分學生可能習慣以論文和書籍為主要學習工具,但忽略了新聞與網路的價值。其實,不同來源的資訊各自有其功能,如果能善加運用,可以全面提升研究效率和視野。 日本作家出口治明在《いま君に伝えたい知的生産の考え方》中,點出新聞、網路、和
「人們代代相傳的預言與神話,就彷彿是透過無名創作者留下的時空膠囊,其中隱藏著句普遍性的「比喻」,測試著後人的概念解讀力。」 「“典範 Role Model” 指得是“某種任務角色的模範”,會想讓人從其行動與思維中學習,希望“變得像那個人一樣”。」 「“學習”源自於“模仿”,崇拜某個人,進
在Threads上分享的晨型人作息很受歡迎, 也有讀者詢問如何鍛鍊自己早睡早起, 我想第一步就是了解「睡眠週期」的概念。 一個完整的睡眠週期,平均是1.5小時, 也就是說從你入睡開始算, 如果你是在1.5小時,3小時,4.5小時,6小時,7.5小時醒過來, 基本上
在研究生涯中,我們常以為掌握某套理論工具後,只要不斷深挖,就能成為學術領域的佼佼者。然而,正如程光老師所言:「如果不去Push Science的Boundary,那麼這個系就會漸漸變成主要Teaching的系。」這提醒我們,學術的生命力來自於不斷探索未知,而非固守已有的知識體系。 以下分享碩博士生
劉瀾在《學習力30講》中提到的「理論之鐘」概念,來自社會學家卡爾威克 (Karl Weick) 的時鐘隱喻,對於研究生的學術思考和研究策略非常有啟發。該理論指出:任何社會行為的理論,都無法同時滿足以下三項要素: 普遍性 General (12點鐘):理論能夠被廣泛應用於各種情境。 準確性 Acc
研究團隊的運作不僅仰賴成員的專業能力,更需要有效的知識管理。李育輝老師在《組織行為學》中提到,知識管理不只是寫成員工手冊,而是收集、儲存與共享有價值的知識和經驗,並幫助大家找到解決問題的「對的人」。 在碩博士研究的環境中,如何讓新加入的學生快速融入、有效利用資深成員的經驗,並達成互助合作,是每位指
對於碩博士在學學生來說,如何取得高效的資訊來源是關鍵課題。大部分學生可能習慣以論文和書籍為主要學習工具,但忽略了新聞與網路的價值。其實,不同來源的資訊各自有其功能,如果能善加運用,可以全面提升研究效率和視野。 日本作家出口治明在《いま君に伝えたい知的生産の考え方》中,點出新聞、網路、和
「人們代代相傳的預言與神話,就彷彿是透過無名創作者留下的時空膠囊,其中隱藏著句普遍性的「比喻」,測試著後人的概念解讀力。」 「“典範 Role Model” 指得是“某種任務角色的模範”,會想讓人從其行動與思維中學習,希望“變得像那個人一樣”。」 「“學習”源自於“模仿”,崇拜某個人,進
在Threads上分享的晨型人作息很受歡迎, 也有讀者詢問如何鍛鍊自己早睡早起, 我想第一步就是了解「睡眠週期」的概念。 一個完整的睡眠週期,平均是1.5小時, 也就是說從你入睡開始算, 如果你是在1.5小時,3小時,4.5小時,6小時,7.5小時醒過來, 基本上
在研究生涯中,我們常以為掌握某套理論工具後,只要不斷深挖,就能成為學術領域的佼佼者。然而,正如程光老師所言:「如果不去Push Science的Boundary,那麼這個系就會漸漸變成主要Teaching的系。」這提醒我們,學術的生命力來自於不斷探索未知,而非固守已有的知識體系。 以下分享碩博士生
劉瀾在《學習力30講》中提到的「理論之鐘」概念,來自社會學家卡爾威克 (Karl Weick) 的時鐘隱喻,對於研究生的學術思考和研究策略非常有啟發。該理論指出:任何社會行為的理論,都無法同時滿足以下三項要素: 普遍性 General (12點鐘):理論能夠被廣泛應用於各種情境。 準確性 Acc
研究團隊的運作不僅仰賴成員的專業能力,更需要有效的知識管理。李育輝老師在《組織行為學》中提到,知識管理不只是寫成員工手冊,而是收集、儲存與共享有價值的知識和經驗,並幫助大家找到解決問題的「對的人」。 在碩博士研究的環境中,如何讓新加入的學生快速融入、有效利用資深成員的經驗,並達成互助合作,是每位指
你可能也想看
Google News 追蹤
Thumbnail
*合作聲明與警語: 本文係由國泰世華銀行邀稿。 證券服務係由國泰世華銀行辦理共同行銷證券經紀開戶業務,定期定額(股)服務由國泰綜合證券提供。   剛出社會的時候,很常在各種 Podcast 或 YouTube 甚至是在朋友間聊天,都會聽到各種市場動態、理財話題,像是:聯準會降息或是近期哪些科
Thumbnail
本文對於《創造思考的教室--概念為本的課程與教學》一書進行深入的文獻筆記整理,重點整理出13條教師在設計概念為本的課程時的重要提醒。
Thumbnail
在今日這個變動快速的時代,似乎每個人都有學習焦慮。許多人加入了大量的線下、線上課程,買了不同領域的書籍,但學習到的知識到底怎樣能為人生加成?我們又到底要怎樣學到知識的內涵,進而內化成我們的工具與服務產品,讓我們為自己創造更多價值呢?
Thumbnail
做中學學中做,這句話屬實不假,我沒有很聰明但也不笨,就是理解力弱了些,不過這些並不妨礙我學習,雖然我鑽牛角尖,但也並非壞事,至少我會找到所有我能找的方法去解決我眼前的問題。 我從來沒有正規的學習過電腦的任何東西,什麼excel、word、autocad...,但就是做中學,不知不覺也都會操作使
Thumbnail
不要想得太複雜,筆者當年剛開始時,寫作功力也很低,內容往往是擷取閱讀過的片段,硬是加入到文章中。類似填空,自己想了一個概念,然後找可以用的內容填進去。 年紀比較輕的族群,寫出的網文往往有這種特性,這是理所當然的,年齡跟閱讀總量一定有關,所以習慣引經據典,非得要找到大師、師傅、導師的語錄進去。
在現代學術研究中,閱讀大量文獻是一個必要且繁重的任務。然而,通過將學術閱讀流程標準化,能顯著提升效率,使閱讀變得更加有條理。最近,我實踐了兩個已經標準化的動作,每個動作都進行了50次以上的測試,效果顯著。 ▋動作一:將文獻內容轉為資訊塊 這個動作的目的是將閱讀材料中的重要內容轉換為小而具
Thumbnail
由於大家時間都很少,出社會要工作,閒暇的讀書時間更少,如何在剩下的人生中,找出有效率的閱讀法,這當然有基礎跟進階之分。請注意注意再注意,成年人的閱讀跟學生時代不同,為了考試而讀書的基礎進階,與我們長大後純粹提升自己是不同的。 千萬不要用過去聯考時代的閱讀法過度想像。
學習是三個階段的循環: - 具體階段:情報收集,紀錄體驗 - 抽象階段:抽象化,模型化,發現模式 - 應用階段:實踐,檢證 西尾泰和這一套學習的三階段循環:具體,抽象,應用, 是一個很好的起始框架。 嘗試實踐它,然後持續修改, 你就能逐漸找到自己學習新事物的獨門心法。
我們都讀過不少書, 看過不少知識型影片, 成長過程中受到不少科學訓練 我們腦袋裡面其實裝了很多「知識」、「觀念」 包括:如何做筆記、 如何摘要書本重點精華、 如何學好一門知識、 如何讀出文章作者的言外之意、 如何探索自己的情緒與想法、 如何分析當下情況的優劣、 如何做好計畫時
Thumbnail
以前考試最愛買參考書,參考書的編排通常是重點精華+題目+詳解。 不愛讀課本,只看重點精華就去做題目,以為這樣可以節省時間,做題目的時候模模糊糊,A好像也對,C看起來也很像...,根本沒搞清楚基本原理,又要重頭念一次。 才發現重點要自己整理,整理的過程是釐清內容和鞏固記憶最重要的環節。 整理是一
Thumbnail
在學術寫作中,掌握「關鍵字閱讀」技術至關重要。 對於學術研究者來說, 有效地從大量的學術文獻中提煉出核心資訊是一項挑戰。 關鍵字閱讀不僅可以幫助你避免被不必要的細節所淹沒, 還能讓你更聚焦於與研究主題相關的資訊。 結合「書目卡 Bibcard」的使用, 這種閱讀方式能夠大大提高你的閱讀效
Thumbnail
*合作聲明與警語: 本文係由國泰世華銀行邀稿。 證券服務係由國泰世華銀行辦理共同行銷證券經紀開戶業務,定期定額(股)服務由國泰綜合證券提供。   剛出社會的時候,很常在各種 Podcast 或 YouTube 甚至是在朋友間聊天,都會聽到各種市場動態、理財話題,像是:聯準會降息或是近期哪些科
Thumbnail
本文對於《創造思考的教室--概念為本的課程與教學》一書進行深入的文獻筆記整理,重點整理出13條教師在設計概念為本的課程時的重要提醒。
Thumbnail
在今日這個變動快速的時代,似乎每個人都有學習焦慮。許多人加入了大量的線下、線上課程,買了不同領域的書籍,但學習到的知識到底怎樣能為人生加成?我們又到底要怎樣學到知識的內涵,進而內化成我們的工具與服務產品,讓我們為自己創造更多價值呢?
Thumbnail
做中學學中做,這句話屬實不假,我沒有很聰明但也不笨,就是理解力弱了些,不過這些並不妨礙我學習,雖然我鑽牛角尖,但也並非壞事,至少我會找到所有我能找的方法去解決我眼前的問題。 我從來沒有正規的學習過電腦的任何東西,什麼excel、word、autocad...,但就是做中學,不知不覺也都會操作使
Thumbnail
不要想得太複雜,筆者當年剛開始時,寫作功力也很低,內容往往是擷取閱讀過的片段,硬是加入到文章中。類似填空,自己想了一個概念,然後找可以用的內容填進去。 年紀比較輕的族群,寫出的網文往往有這種特性,這是理所當然的,年齡跟閱讀總量一定有關,所以習慣引經據典,非得要找到大師、師傅、導師的語錄進去。
在現代學術研究中,閱讀大量文獻是一個必要且繁重的任務。然而,通過將學術閱讀流程標準化,能顯著提升效率,使閱讀變得更加有條理。最近,我實踐了兩個已經標準化的動作,每個動作都進行了50次以上的測試,效果顯著。 ▋動作一:將文獻內容轉為資訊塊 這個動作的目的是將閱讀材料中的重要內容轉換為小而具
Thumbnail
由於大家時間都很少,出社會要工作,閒暇的讀書時間更少,如何在剩下的人生中,找出有效率的閱讀法,這當然有基礎跟進階之分。請注意注意再注意,成年人的閱讀跟學生時代不同,為了考試而讀書的基礎進階,與我們長大後純粹提升自己是不同的。 千萬不要用過去聯考時代的閱讀法過度想像。
學習是三個階段的循環: - 具體階段:情報收集,紀錄體驗 - 抽象階段:抽象化,模型化,發現模式 - 應用階段:實踐,檢證 西尾泰和這一套學習的三階段循環:具體,抽象,應用, 是一個很好的起始框架。 嘗試實踐它,然後持續修改, 你就能逐漸找到自己學習新事物的獨門心法。
我們都讀過不少書, 看過不少知識型影片, 成長過程中受到不少科學訓練 我們腦袋裡面其實裝了很多「知識」、「觀念」 包括:如何做筆記、 如何摘要書本重點精華、 如何學好一門知識、 如何讀出文章作者的言外之意、 如何探索自己的情緒與想法、 如何分析當下情況的優劣、 如何做好計畫時
Thumbnail
以前考試最愛買參考書,參考書的編排通常是重點精華+題目+詳解。 不愛讀課本,只看重點精華就去做題目,以為這樣可以節省時間,做題目的時候模模糊糊,A好像也對,C看起來也很像...,根本沒搞清楚基本原理,又要重頭念一次。 才發現重點要自己整理,整理的過程是釐清內容和鞏固記憶最重要的環節。 整理是一
Thumbnail
在學術寫作中,掌握「關鍵字閱讀」技術至關重要。 對於學術研究者來說, 有效地從大量的學術文獻中提煉出核心資訊是一項挑戰。 關鍵字閱讀不僅可以幫助你避免被不必要的細節所淹沒, 還能讓你更聚焦於與研究主題相關的資訊。 結合「書目卡 Bibcard」的使用, 這種閱讀方式能夠大大提高你的閱讀效