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