跳到主內容

Theme / 0.9.130

Pstack

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

Skills

principle-laziness-protocol | 集中決策並縮小差異

以功能顯示規則為例,把重複決策集中到單一來源,選擇足以解題的小幅修改而不省略驗證。

principle-laziness-protocol | 集中決策並縮小差異

本頁以 pstack-claude 0.9.126 為基準。原文設定 user-invocable: false,通常由 poteto-mode 按需讀取。可用自然語言要求「套用 principle-laziness-protocol」,不是呼叫額外的命令。

定位與適用情境

原文只有兩個核心要求。把同一決策集中到單一事實來源(Single Source of Truth),將結果以簡單旗標傳遞。修改則選擇能解決問題的最小差異,不為優雅樣板增加行數。

本例的管理頁有三個匯出入口,各自判斷方案是否開放匯出。輸入是三處顯示判斷、既有方案規則與測試。要修的是頁面顯示不一致,不是重寫權限系統。

準備

  • 提供頁面、方案規則的既有來源,以及三個入口的呼叫關係。
  • 區分前端顯示旗標與伺服器端授權。隱藏按鈕不等於拒絕未授權請求。
  • 準備可匯出與不可匯出的帳號案例,以及直接請求匯出介面的拒絕案例。

操作步驟

  1. 列出重複決策。 對照三個入口實際使用的條件,辨認哪一處已符合需求。若規則互相矛盾,先列出證據與缺口,不憑直覺選一個。
  2. 選定既有來源。 優先沿用已存在的方案判斷,在頁面組裝邊界算出一次 canShowExport,把布林值(Boolean)交給三個入口。不要讓每個元件重讀方案資料。
  3. 限制修改面。 只替換重複的顯示判斷與必要參數,不增加通用政策引擎、全域事件或多層轉接器。既有伺服器授權仍保留。
  4. 核對行為與差異。 用兩類帳號檢查三個入口是否一致,再測未授權直接請求仍被拒絕。檢閱差異,確認沒有夾帶其他重構。

可直接使用的提示詞

套用 principle-laziness-protocol。這個管理頁的三個匯出入口重複判斷方案,造成顯示不一致。
請先追查既有方案規則與呼叫端,提出最小修改,讓頁面只算一次顯示旗標並傳給入口。不要新增通用政策框架,不改既有伺服器授權。
只在我指定的頁面與相關測試範圍內修改。驗證兩類方案的顯示結果,以及未授權直接請求仍會失敗。若無法執行驗證,列出缺口,不宣稱完成。

預期結果與驗收

預期修改集中在決策來源、必要的旗標傳遞與測試。

  • 三個入口不再各自複製方案比較條件。
  • 能指出旗標在哪裡產生,以及哪些入口只消費結果。
  • 顯示一致性與授權拒絕都有可檢查證據,不以行數較少代替正確性。
  • 差異中沒有與這次問題無關的新層級或通用框架。

限制與權限

常見誤用是為了縮小差異跳過測試、移除驗證,或把前端旗標當作安全邊界。懶惰原則不是省略驗證、容忍缺失安全性或隱藏錯誤。這些仍是交付必須滿足的條件。

另一種誤用是只把重複判斷包進三個不同函式,卻沒有集中規則。本例的旗標適合單次頁面組裝,不代表任何動態授權結果都能永久快取。刪除檔案或擴大修改範圍仍須遵守專案授權。

延伸閱讀與來源