跳到主內容

Theme / 0.9.130

Pstack

用可驗證的工作流程協作,從單一入口學會工程技能

Skills

principle-redesign-from-first-principles | 把新需求視為起點重新設計

整合新需求前先讀懂既有設計,以需求從第一天就存在的角度重想模型,再分段更新所有參照。

principle-redesign-from-first-principles | 把新需求視為起點重新設計

本頁以 pstack-claude 0.9.126 為基準。原文設定 user-invocable: false,通常由 poteto-mode 按需讀取。它提供整合需求的方法,不代表每次都要全面重寫。

定位與適用情境

當新需求開始讓既有模型充滿例外,先問「如果從第一天就知道這個需求,會怎麼設計」。讀懂所有受影響檔案後,再決定要保留什麼、改變什麼。完整思考設計,交付時仍可分段進行。

例如文件管理系統原本只有全域的 isAdmin。現在同一個人必須能在甲工作區編輯、在乙工作區唯讀。直接再加幾個布林欄位,可能仍無法表達權限與工作區的關係。教學情境改以「使用者在某工作區的角色」重新檢查設計。

準備

  • 提供權限判斷、資料模型、對外介面、畫面、測試及既有設計說明。
  • 寫下需求矩陣。相同使用者在甲可編輯、在乙只能讀取,未加入的工作區不得存取。
  • 釐清舊管理員的真實權責與相容要求。無法確認的規則先列為待釐清,不能自行假設全域權限失效。

操作步驟

  1. 閱讀全部受影響檔案與呼叫端,追出 isAdmin 如何被儲存、傳送、判斷與說明。記錄現況依賴,不只搜尋欄位名稱就下結論。
  2. 暫時不受舊欄位限制,提出能直接表達需求的模型。例如以使用者、工作區與角色的關聯決定存取權。用需求矩陣逐一檢查,而非只比較程式碼行數。
  3. 將選定設計映射回既有系統,列出型別、資料轉換、權限查詢、畫面、文件、範例及設計理由的更新清單。明列遷移風險與仍須保留的行為。
  4. 安排可驗證的增量交付。每段都有權限案例與參照一致性檢查,最後再檢查所有文件及範例是否仍描述舊模型。

可直接使用的提示詞

套用 principle-redesign-from-first-principles,分析文件系統的工作區角色需求。
現有全域 isAdmin 無法表達同一人跨工作區擁有不同權限。
先讀受影響的模型、呼叫端、畫面、測試與設計文件。
假設工作區角色從第一天就存在,提出模型並用甲可編輯、乙唯讀、未加入不可存取的矩陣檢查。
交付完整參照清單與分段驗證計畫。未確認的全域管理員規則另列,不擅自改變。
這次只分析,不修改資料或刪除舊介面。

預期結果與驗收

  • 新模型能直接表示同一使用者的不同工作區角色,不靠散落的特殊分支補救。
  • 每項需求都有可觀察案例。乙工作區的編輯操作被拒絕,不只是按鈕隱藏。
  • 設計清單涵蓋型別、文件、範例與理由,沒有只改儲存欄位卻遺漏使用端。
  • 分段計畫清楚交代如何保住仍有效的既有行為,以及何時完成全部參照更新。

限制與權限

常見誤用是把「從零思考」當成丟棄既有約束,或還沒讀完現況就要求整個系統重寫。另一種是提出完整新模型後,只交付新增欄位,讓文件與舊判斷永久分裂。

此原則不會替你決定產品權限。涉及資料轉換、刪除舊 API 或變更使用者存取權時,仍須核對任務授權及遷移風險。本頁只提供教學方案,未實際改動系統。

延伸閱讀與來源