系統的真正價值,是「改得動」:VBA 為什麼會爛掉 - 業務分析封面圖
系統化

系統的真正價值,是「改得動」:VBA 為什麼會爛掉

需求一定會變。VBA 把規則焊進程式,改一條要拆一次彈;系統把會變的規則資料化、集中管理,改一處全域生效。可修改性,決定一套系統活多久。

2026年7月21日

系統上線那天不是終點,是考驗的開始——因為隔沒多久,規則就變了。

那個某醫療機構的抽成,才跑順三個月,就遇到:新增一位醫師、某個品項改成不抽、業績級距的門檻往上調。這種事不是意外,是常態。需求一定會變,一個改不動的系統,跟一支寫死的巨集其實沒兩樣。

VBA 為什麼會爛掉

巨集會爛,不是因為當初寫得差,而是因為它把規則焊進了程式。抽成的邏輯散在一堆公式和 If 判斷裡,改一條規則,你得先找出它藏在哪幾段、會不會弄壞去年的結算,然後禱告沒有漏掉。改的人只有你、也只有你敢動——於是每次修改都是一次拆彈。時間一久,沒人願意碰,它就慢慢腐爛成「能動但不敢改」的黑盒子。

系統的真正價值,是「改得動」

好系統和爛巨集的分水嶺,就在可修改性。做法是把「會變的東西」跟「不變的東西」分開:

  • 規則資料化:抽成比例、級距、哪些品項算,都存成可設定的資料,改規則是改一筆設定,不是改一段程式。
  • 集中管理:邏輯只有一個出處,改一處、全域生效,不會有「這裡改了那裡忘了」。
  • 有紀錄可回:改壞了能還原、能看出這個月為什麼算成這樣,而不是一改就回不去。

能改得動,系統才活得久

軟體的壽命,從來不是取決於它一開始多完整,而是取決於它能不能持續被修改。這也是為什麼前面要先做資料庫、做前端——那些都是為了讓「修改」這件事變得便宜又安全。

勞健保級距會調、獎金規則會改、抽成方式會換。你要的不是一個「這次算對」的巨集,而是一套「每次規則變了都跟得上」的系統。改得動,才是它真正的價值。

喜歡這篇文章嗎?點個讚支持我們