十年前的老系統,維護很痛苦,重構還是重寫誰說了算,考慮以下幾個方面:
1. 成本:重寫系統可能需要更多的時間和資源來完成,而在一些情況下,重構系統可能是更經濟實惠的選擇。
2. 工作量:重寫系統可能需要編寫更多的代碼,而重構可能涉及更少的代碼編寫和更多的代碼修改。
3. 目标:考慮要為系統實作哪些新功能和特性,是否需要重寫系統來實作這些目标,還是通過重構系統來實作?
4. 使用者需求:考慮系統的使用者需求,如果使用者并不滿意現有的系統,那麼可能需要重新設計和重寫系統以滿足更好的使用者需求。
綜上所述,如果系統的問題主要在于代碼品質和結構,那麼重構可能是更好的選擇。如果系統需要實作新的功能或是已經無法滿足業務需求,那麼重寫系統可能是更好的選擇。在做出這些決定時,還需要仔細評估各種因素,包括風險、成本、時間和資源等。