摘要: 對于軟件開發,多少代工程師夢想能像堆積木一樣堆出滿足功能需求的軟件。Brooks在No Silver Bullet一文中提到解決軟件開發過程中復雜性的一種可能方案就是成熟的組件市場,人們可以購買需要的組件而不是再自行開發。但對于開發工作,有沒有一種更高層面的模式,可以把原來混亂無序的開發過程分解成一段段明確定義的步驟?比如說,開發人員接到一個任務,他可以這樣跟他的同伴解釋他的計劃:“我先要抽取類(extract class),然后移動方法(move method),就完成了。”這正是本文試圖討論的主題:通過一系列明確定義的重構步驟,以達到實現系統功能的目的。我們可以進一步假想,重構是否就是開發人員開發軟件的領域專屬語言呢(refactoring as DSLs to developers' development)
閱讀全文