Feature gate 最簡單就是一個 boolean flag
Feature gating = 在 codebase 裡加一層分支邏輯,可以說「這個功能開/關」。
正式做法有不少基礎設施(LaunchDarkly 這類 feature toggle 服務),但入門版很便宜:加一個 boolean flag 在 codebase 裡,就是 gating code,拿它開開關關。
規劃階段就要 gate,不是寫完才補
- 用 broad strokes 想整體,把所有東西都 gate 起來
- 把 leaf node 分出來——不碰既有 codebase 的部分
- 整合層單獨思考,而且特別要 gate 住
- 有了 plan、roadmap、gating 之後,才開始讓 agent 寫 code(做 atomic changes)
為什麼它是整套方法的樞紐
Gating 同時買到三件事:
- 把改動變成 leaf:被 gate 完全隔開的程式碼就算 leaf,可以合法地少讀 → 把 codebase 想成一棵樹:trunk 與 leaf 的分界是有沒有被隔開
- 讓「能不能 roll back」有答案:這是 review 深度三個問題裡最關鍵的那個
- 讓流量可以一點一點放 → 跑實驗不是為了成效,是為了早點看到爆炸
材料沒講的
flag 什麼時候拿掉、既有邏輯怎麼包 gate、flag 累積的雜亂怎麼辦——影片完全沒談 → Feature flag 的生命週期:什麼時候拿掉、既有 code 怎麼包?