系統上線那天不是終點,是考驗的開始——因為隔沒多久,規則就變了。
那個某醫療機構的抽成,才跑順三個月,就遇到:新增一位醫師、某個品項改成不抽、業績級距的門檻往上調。這種事不是意外,是常態。需求一定會變,一個改不動的系統,跟一支寫死的巨集其實沒兩樣。
VBA 為什麼會爛掉
巨集會爛,不是因為當初寫得差,而是因為它把規則焊進了程式。抽成的邏輯散在一堆公式和 If 判斷裡,改一條規則,你得先找出它藏在哪幾段、會不會弄壞去年的結算,然後禱告沒有漏掉。改的人只有你、也只有你敢動——於是每次修改都是一次拆彈。時間一久,沒人願意碰,它就慢慢腐爛成「能動但不敢改」的黑盒子。
系統的真正價值,是「改得動」
好系統和爛巨集的分水嶺,就在可修改性。做法是把「會變的東西」跟「不變的東西」分開:
- 規則資料化:抽成比例、級距、哪些品項算,都存成可設定的資料,改規則是改一筆設定,不是改一段程式。
- 集中管理:邏輯只有一個出處,改一處、全域生效,不會有「這裡改了那裡忘了」。
- 有紀錄可回:改壞了能還原、能看出這個月為什麼算成這樣,而不是一改就回不去。
能改得動,系統才活得久
軟體的壽命,從來不是取決於它一開始多完整,而是取決於它能不能持續被修改。這也是為什麼前面要先做資料庫、做前端——那些都是為了讓「修改」這件事變得便宜又安全。
勞健保級距會調、獎金規則會改、抽成方式會換。你要的不是一個「這次算對」的巨集,而是一套「每次規則變了都跟得上」的系統。改得動,才是它真正的價值。
