重點 #6 · Ask Codebase Questions

把 Claude 當資深工程師問

官方主張:在不熟的 codebase 裡,Claude Code 是最佳 onboarding 工具 — 你可以問同事的問題都可以問它。

💬 官方建議直接問

把 Claude Code 當新人 onboarding 的 mentor,直接拋問題,不用特別寫 prompt 技巧:

▸ 這個專案的 logging 怎麼運作?
▸ 我要新增一個 API endpoint 該怎麼做?
foo.rs 第 134 行的 async move 是什麼意思?
CustomerOnboardingFlow 處理了哪些邊界情況?
▸ 第 333 行為什麼是呼叫 foo() 而不是 bar()
▸ 這個 helper 為什麼存在?誰在用?

→ 效果:縮短 ramp-up 時間,減少同事被問問題的負擔

問了之後它會做什麼

不需要你給檔名 — 它自己去掃,建立 mental model 再回答。

# Claude 自主探索 repo

📁 src/

📄 index.ts

📁 auth/

📄 login.ts

📄 jwt.ts

📄 middleware.ts

📁 api/

📄 routes.ts

📄 handlers.ts

📁 db/

📄 schema.sql

📄 migrations.ts

# 建立架構心智圖

🌐 API Layer
🔐 Auth
🗄️ DB
⚡ Middleware

# 結果

適合在「探索期」丟給它的六種任務

— 涵蓋 onboarding、追架構、找問題的高槓桿用法

🗺️

不熟的 codebase

新進專案、外包接手

🏛️

追蹤架構

trace data flow

♻️

大型 refactor

跨檔案改動

🔬

找 root cause

複雜 bug

🚚

Migration

v1 → v2 API

🐛

Debugging

log + code 跨域追

⚠️ 反例:這四種「探索」會空轉

不是 Claude 不努力 — 是「資訊不在 codebase 裡」,怎麼 grep 都找不到。

⏱️

Race condition / 記憶體洩漏

需要 runtime trace、profiler、heap snapshot — 靜態讀檔案看不出來。

💡 該做:你把 profiler / log 貼給它分析

👁️

純視覺 / UX bug

「按鈕排版怪怪的」「動畫卡卡」— 需要肉眼或瀏覽器互動。

💡 該做:截圖貼給它 + 配 Playwright MCP

🎭

動態 / 反射程式碼

PHP magic method、Python getattr、JS eval — call graph 是 runtime 才知道。

💡 該做:你補上「執行範例」當線索

☁️

只發生在 production 的 bug

流量、DB 真實資料、第三方 API 才會觸發 — 本機 repo 看不出來。

💡 該做:把 production log / 監控數據貼進來

# 一句話心法