第一次用 Claude Code,不必從大型重構開始。先在小型、可回復的練習專案完成一條閉環:確認安裝與登入、只讀理解程式、交辦一個有測試的修正,最後自己看測試與 diff。這篇附的程式故意保留一個計價錯誤,讓你能從測試辨認修正前後的差異。
Claude Code 可以讀取程式庫、修改檔案與執行命令;官方總覽列出終端機、IDE、桌面 App 與網頁等入口。新手真正要練的不是一次把它放行,而是讓每一步都有可核對的輸入與結果。官方總覽
先決定這次練習要驗收什麼
這個練習只有一個任務:修正「商品總價」函式,讓每項的 price × quantity 都被計入。附件是自製、可在本機執行的 Node.js 範例,不含任何 API key、帳號資料或外部服務。
下載 first-task.zip 並解壓縮。資料夾中的 starter/ 是故意保留錯誤的起點,reference/ 是供你比對的參考結果;兩者都有同一份測試。
你需要 Node.js 20 以上。進入 starter/ 後執行:
node --test total-price.test.mjs
已觀察到的 Node.js 本機結果如下:starter/ 為 1 個通過、2 個失敗;reference/ 為 3 個通過、0 個失敗。測試內容與參考修正都可從附件檢查。
安裝與登入:先確認入口能用
若你選 CLI,依官方 Advanced setup 依作業系統使用安裝方式;原生安裝後,重新開啟終端機並執行 claude --version,確認可輸出版本號。Windows PowerShell 的官方安裝指令是:
irm https://claude.ai/install.ps1 | iex
macOS、Linux 或 WSL 可依同一份官方 setup 使用原生安裝器:
curl -fsSL https://claude.ai/install.sh | bash
首次從 CLI 開始工作階段時,依畫面指示完成登入。訂閱與 Anthropic Console/API 是不同的帳號與計費路徑;本文的本機 fixture 不需要 API key 或付費服務,但若另行啟動 Claude Code,帳號條件仍以官方說明為準。可用入口、帳號條件與方案會變動,請在開始前查看 官方 setup、官方總覽與 Claude pricing。
先只讀理解,不要急著叫它改
先在 starter/ 留一份起點備份。Windows PowerShell 可執行:
Copy-Item -LiteralPath .\total-price.mjs -Destination ..\total-price.before.mjs
claude
macOS/Linux 用 cp total-price.mjs ../total-price.before.mjs 留存原檔,再執行 claude。備份放在 starter/ 之外,下面的任務只讀三個指定檔案。

自製圖解:Gwarket / Aaron Huang · CC BY 4.0 ·
進入工作階段後,先給它這段指令:
請只閱讀 README.md、total-price.mjs 與 total-price.test.mjs。說明這個練習要計算什麼、目前函式漏了什麼、哪些測試會失敗。不要修改檔案、不要安裝套件、不要執行會改變資料的命令。
你要檢查的不是回答是否流暢,而是它是否指出:函式目前只累加 price,測試要求把 quantity 計入;空清單測試仍會通過。若它讀了額外檔案、建議安裝依賴,或把未知事項講成結論,先縮小範圍再繼續。
再交辦一個有邊界的修正
只讀理解符合預期後,才交付下面這個修正請求:
請只修改
total-price.mjs的totalPrice函式,使每個項目的總價為price * quantity,再加總所有項目。不要修改測試、README 或新增檔案;不要安裝套件。完成後執行node --test total-price.test.mjs,回報改了哪一行、測試結果與仍未處理的範圍。
這個 prompt 的重點是「只修改什麼」與「不可以修改什麼」都寫清楚。參考輸出把函式核心改為:
return items.reduce((sum, item) => sum + item.price * item.quantity, 0);
它是教材中的參考答案,不是預先宣稱 Claude 一定會產生的 output。README.md 也限定了練習資料:只處理非負整數價格與正整數數量,不處理稅、折扣或匯率。
先看測試,再看 diff
接受修改前,自己在同一個資料夾重新執行測試:
node --test total-price.test.mjs
測試全通只說明三個案例符合預期;它不自動證明任務定義、資料驗證或其他付款規則都正確。接著查看 Claude Code 顯示的檔案差異,確認只修改了 total-price.mjs,且乘法確實在累加前發生。Windows 也可在終端機比較剛才保留的起點:
Compare-Object (Get-Content ..\total-price.before.mjs) (Get-Content .\total-price.mjs)
<= 是起點才有的行,=> 是修正後才有的行;這個練習不要求先建立 Git repository。這也是為什麼第一個任務要小:你能把任務敘述、變更範圍和驗證結果放在同一個畫面裡判斷。
Claude Code 的權限模式用來決定工具呼叫何時需要你的確認;需要先理解修改方向時,可先使用 plan mode 審核計畫,再決定是否執行。第一次練習不要把跳過確認當預設。Permission modes
結果不對時,先回到可回復狀態
若測試仍失敗、它改了測試,或 diff 超出範圍,不要在同一段對話裡連續追加「再修一次」。先保留失敗輸出,退出會寫檔的工作階段,再用起點備份還原。Windows PowerShell:
Copy-Item -LiteralPath ..\total-price.before.mjs -Destination .\total-price.mjs
node --test total-price.test.mjs
macOS/Linux 可用 cp ../total-price.before.mjs total-price.mjs。還原後再次看見兩個失敗,是故意保留的起點,不是另一個新錯誤。接著重新提出更小的問題:例如只請它解釋某一個失敗案例,或只請它提出計畫。
這個教材有兩個安全參照點:starter/ 讓你重做練習,reference/ 讓你核對預期修正。先比較測試與 diff,再決定要不要保留任何修改;不要因為代理工具看似有把握就跳過自己的驗收。
下一步
資料來源與驗證範圍
查證日期:2026-11-08。
附件測試於 2026-11-08 在本機 Node.js 執行:starter/ 為 1 pass/2 fail,reference/ 為 3 pass/0 fail。它們是教材 fixture 的驗證結果,不是 Claude Code 或模型能力的測量。