Debug Story

Debug Story

Ref:


這篇主要是想紀錄一下看了Ruddy 老師的文章後想做的事情,雖然通篇的重點不是在我想做的這件事,但因為Ruddy 老師的這篇文章讓我覺得以後在排除 Bug 的時候應該要做這件事才對。

以下的內容是擷取 Ruddy 老師的內容(部分修改)

  1. 記錄搜尋路徑與嘗試過的假設 => 我以為是 state 沒清,但發現是 effect 未執行
  2. 為錯誤進行分類,然後標註成概念 => 這是 mutable state 的副作用問題
  3. 寫一段描述該段程式的情境與原則 => Vibe Story

該段程式的情境與原則可以參考一下的要點撰寫:

  • 場景(Context):描述程式碼的背景與需求。
  • 目標(Goal):說明功能目的。
  • 挑戰與迭代(Challenges & Iterations):記錄試錯與調整歷程。
  • 視角(Perspectives):納入不同角色觀點。
  • 反思(Reflection):紀錄當時決策依據與未來優化方向。

例如:

  • 場景:每日交易量達十萬次,需支援高併發請求。
  • 目標:打造低延遲且穩定的支付 API。
  • 挑戰與迭代:初期使用資料庫鎖定,但效能不足;改用 Redis 快取解決問題。
  • 視角:使用者要求秒級響應,開發者偏好快取機制,測試人員確認資料一致性。
  • 反思:快取方案穩定有效,惟需加入記憶體溢位監控。

Read more

GitHub SDD Tools: spec-kit

GitHub SDD Tools: spec-kit

最近很夯 SDD,然後 GitHub 也出了工具 spec-kit 來幫助開發者撰寫 SDD 文件。 這個工具可以讓你直接用自然語言來描述你的需求,然後自動生成 SDD 文件。 spec-kit 支援來幾乎現在市面上所有的 AI Coding 工具,而且一直持續在更新。 以下是目前(0.0.79)版本可用的指令以及指令的用處: * 核心指令: 指令 用途 /speckit.constitution 建立或更新專案管理原則和開發指南 /speckit.specify 建立需求和使用者故事 /speckit.plan 建立實施計劃 /speckit.tasks 生成 Task /speckit.implement 執行 Task * 選擇性指令: 指令 用途 /speckit.clarify 釐清不明確的規格,

By Mars
Claude Code Status line on Windows

Claude Code Status line on Windows

Claude Code 在大家軍備戰發布了 Status line 這個功能,讓使用者可以在 Claude Code 的輸入框下方自訂自己想要的訊息,官方提供幾個方式可以實現這功能(Bash, Node.js, Python),最後我選擇使用 Node.js。 趁著週末寫玩了一下,剛開始照著官方文件做,結果啥都沒顯示出來,接著叫 Claude Code 幫我做,他說成功了,結果還是啥都沒有...最後才發現可能是官方提供設定檔案的問題 { "statusLine": { "type": "command", "command": "~/.claude/statusline.sh", "padding": 0 // Optional:

By Mars