如何弄懂複雜專案

AaronLin發表於2024-04-07
  1. 先跑起來,透過文件和實踐熟悉業務流程

    這一步可以透過看官方文件開始,要注意的是一些專案是 更新先於文件 的,比如新版本啟動方式有變更,但是文件還沒更新。跟著文件不一定能把專案跑起來,需要藉助 GitHub Issue 或者是 Slack 這樣的工具以獲取即時的幫助

  2. 看測試,透過測試瞭解流程

    如果是開源專案,可以透過 GitHub Action 快速瞭解需要哪些依賴、如何快速執行測試,便於在本地執行測試,透過這些整合測試可以快速弄懂業務主線

  3. 透過 debug 高效快速地梳理流程

    透過斷點可以一步一步跟蹤程式的執行,可以比較直觀地看呼叫棧、變數等等的

    對於一些無法本地除錯的專案來說,我們可以退而求其次,斷點它的測試,這也是一個很有效的方法

  4. 畫圖:降低複雜度

    很多專案會使用一些比較優雅的設計或是引入一些抽象層,這樣程式碼讀起來就會跳來跳去,層級深的話就很容把人給繞暈了

    可以用 draw.io 或者 excalidraw 等工具,根據實際情況畫一畫 活動圖、時序圖等

  5. 提出具體的問題,帶著問題看專案

    如果只是盲目地看專案程式碼,可能看完還是一頭霧水,但是如果能提出一個具體問題,或是帶著一個需求去看,效果就會好得多

    比如我提出問題:“某個任務在叢集內是如何完成的?”,我可能會先去找到該任務的建立入口,然後順藤摸瓜,找到任務的排程邏輯,順著 happy path 找到下發任務的邏輯,再找到 Woker 的處理邏輯,這樣就能弄懂整個排程流程

    最後如果能用 一句話 回答提出的問題,那可能能說明你對這個問題涉及的知識已經有了一個比較好的理解

  6. 英語很重要

    大多數專案的註釋、日誌等的都是英文,看懂這些能極大提高效率

相關文章