iT邦幫忙

2026 iThome 鐵人賽

DAY 3
0

Day 03 封面:讓上下文留在工作現場

Day 02 談完 ChatGPT 與 Codex 的分工後,但「選對工具」只解決一半問題,操作介面選錯一樣會卡手。今天的案例是要修正 Java 購物車缺陷時,我先用 ChatGPT 確認預期行為,再到 Codex 開啟專案,最後用 Maven 跑測試。如果每一步都靠複製貼上銜接,不止會中斷心流,還得重複送出相同上下文,所以今天我們要來探討怎樣能讓我們的心流不會被中斷。

ChatGPT App、Web 與 API,我怎麼選?

操作介面 我會在什麼時候用 需要先注意什麼
ChatGPT App 任務會用到本機檔案或桌面工具 只開放工作需要的資料與權限
ChatGPT Web 臨時討論、研究或整理上傳檔案 先確認方案與工作區允許的功能
OpenAI API 需要批次、自動觸發或整合進系統 金鑰、成本、錯誤處理都要自己管理

Codex 的差別,在於離程式碼多近

操作介面 我會在什麼時候用 需要先注意什麼
Codex App 同時管理專案、對話與較長任務 執行紀錄、產物與檔案差異
Codex CLI 終端機內連續讀檔、修改和測試 實際命令及完整輸出
Codex cloud 將可重建的工作交給遠端繼續執行 環境設定、摘要、差異與測試

介面可以依習慣切換,驗收標準不能跟著放寬。至少要看清楚改了哪些檔案、執行了哪些命令,以及測試到底有沒有開始。

我的最小可用環境

Day 03 最小可用開發環境

以上是我的程式測試執行版本,不代表大家都得裝同一套版本;只要專案可以重現問題、執行測試、查看差異並在需要時還原,就足以開始練習。產品介面與方案則要在發布當日再確認一次。

實測:空購物車為什麼會除以零?

Day03 專案的 ShoppingCart.calculateTotal() 會先加總金額,再用商品數量計算平均值。購物車是空的時候,原始程式仍然執行除法,因此修正前跑 mvn test,兩項測試中有一項出現 ArithmeticException。我限定 Codex 只能修改總額計算方法,不能更動測試與既有折扣邏輯。

實際加入的程式只有空清單判斷:

if (items.isEmpty()) {
    return 0;
}

重跑時還碰到另一個狀況:Maven 因網路權限無法下載外掛。這時候 JUnit 其實還沒執行,不能看到紅字就認定修正失敗。我確認下載來源後,只核准這次測試需要的連線;再次執行,兩項測試全部通過。接著檢查 Codex 的變更畫面,確認沒有順手改測試,也沒有夾帶無關重構。

從失敗測試、最小修改到兩項測試通過

完整輸出放在 Day 03 驗證紀錄。這次需求、修改和驗證能留在同一條工作脈絡裡;不過上下文越完整,也越要控制機密資料、檔案範圍與網路權限。

小結:先讓一條流程跑得順

我會先選一個能完成「交代任務、修改、測試、看差異」的操作介面,再依工作需求補上其他工具。全部都用不等於效率更高,要選擇適合自己習慣的工具並且能留下可核對的證據才重要。Day 04 會先用一個開場故事帶出這次需求有多模糊,Day 05 接著使用這套環境,把它整理成可以確認與驗收的技術規格。

參考資料


上一篇
Day 02|ChatGPT vs Codex:對話助手與沙箱編程代理的差異
下一篇
Day 04|先從盤古開天開始說起
系列文
挑戰 30 天把 ChatGPT 與 Codex 放進軟體開發流程4
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言