小小心思,大大彈性
「功能很簡單,這幾個項目都是固定的,以後絕不會改...」 每次開發時,多少都會聽到一兩次。
沒經驗的程式,會將這些「客戶保證」的固定項目,寫死在 code 中。
因此上線之後,若發生意料之外的狀況,光是修改這些固定項目,就足夠令人煩躁的了...
其實,這是一種莫非定律:
越簡單、越小的專案,越可能不小心成功,延伸成大專案。
越是擔保不會變更的項目,越可能不小心出現例外。
與其發生例外時,跟客戶拿會議記錄嘔氣...
還不如聽我建議,在一開始就採取較為彈性的策略:
各種「號稱不會修改的項目」,仍舊紀錄於資料庫欄位中。
各種「保證不會再新增的品項」,仍舊保留新增欄位,並以關聯表的形式,提高後續增修的可能性。
這並不代表需要額外撰寫相對應的修改程式,只是在建立資料表時,保留更多彈性。
一旦發生不可預期的例外時,只要修改欄位值,即可完成更新。
想要後續增補程式,用以擴大功能,也能簡單實現。
因此,真正有遠見的程式設計師深知:
「現在一點小小的投資,可能讓未來所有人都皆大歡喜。」