這兩天我被教育了 ... 關於最小修正這回事(入內)
latest #8
那是一個非常高用量的服務,我的任務舉例來說是增加通行證的種類,類似原本只有員工通行證 DeveloperToken,現在增加遊客通行證 GuestToken
這事很簡單,就在通行證種類的 colume 改個值,然後把原本的 entry points 都 limit 種類即可
但 limit 種類這件事,需要從 DB 到 control 到 public layer 都進行修正,而我們的對象能兩種都申請 10 個,也就是最多共 20 個通行證
我就洋洋灑灑的改了 20 多個檔案,原本 30 多個,已經盡量減少了,然後對方大佬説一句 ...... 為何你不在輸出端過濾就好了,這樣你 DB 和 control layer 都不用修正
他說的很狠,取得通行證資訊不用過濾種類,因為 keyID 有唯一性,刪除也不用過濾種類,因為一樣的 keyID 有唯一性
這下好了 DB layer 完全不用修正, control layer 小修,全部修正檔案數壓到 1X 個,但會造成手動修改 keyID 的話,員工通行證管理頁面能刪除遊客通行證,反之亦然
優點是類似 DB cache 能完全重用,我當下想比中指但想想 ... 真的有那麼嚴重嗎?其實這交互行為也只是刪到同廠商不同資源罷了,它自己搞自己,也不關我們的事
但 ... 身為有職業操守的我 ... 嘛,這算潔癖了就是哈哈,反正就先 as your wish 了,這事沒對錯,就 ......
back to top