看了一些軟件設計方面的資料,大致印象是似乎都在強調靈活的設計,減少耦合,目的在於以後有變動時可以減少改動,這樣也在一定程度上減少了出錯的可能性。
現在覺得今後的需求變動難以預料,但是設計時,防止將來可能出現的bug(而不是將來可能的需求變動),似乎更爲重要。
當然,將來可能出現的bug,需求的變動也是原因之一(還有可能是數據的變動)。但是,防範可能出現的bug,不同於爲將來的需求變動“預留位置”。
比如說,程序中要接收一個日期型的數據,日期有多種格式,如果在程序處理中只考慮一種格式,固然可以應付眼前的需求,但將來若出現了其他格式的數據,就會出錯。
當然,也要適可而止,如果太費時間,就不必了。