最近要在寫一次購買基金的功能,為了記取上次過於貪心想要使用一個共用元件通吃三種購買方式的下場,在正式開發之前,我特別保留時間回去 trace 上次寫的程式,並設計一個功能耦合度最低的架構來實作。
購買基金一般來說有三種購買方式:單筆,定期定額及修改定期定額
之前:實做一個同時完成三種購買方式的元件
這次:三種購買方式改由三個獨立元件來達成,透過可共用的 Compose 元件來重新組合出不同的行為
上一次的實作決定讓所有行為都混雜在一起,導致超級複雜的 LaunchedEffect 來驅動試算結果,在後續需求變化下造成改了A壞了B,動線無法輕易切分開,是個十分慘痛的經驗!也可能是分工上討論不夠,同事各自做不同的功能,項目沒有被切分成可以好好分工的程度,所以第二次挑戰,希望可以好好做成好改好維護的版本,可長可久的開發下去。