2011-06-08 73 views
0

我一直認爲代碼重構只是爲了改進實現細節。我想確保我對適用於重構的範圍有適當的理解(維基百科對我的理解並沒有多大幫助)。瞭解重構的範圍

例如,我聽到有人在談論「重構他們的設計」,這似乎是悖論。當你修改某些東西的設計(重新命名一個類中的公共方法,刪除一個方法或其他類似的改變)時,這個(對我來說)被稱爲「重新設計」,而不是重構。

什麼是共同接受的重構範圍?重構設計真的有可能嗎?當我試圖描述我正在重構或不重構的工作時,知道這將確實有助於與同事溝通。

回答

3

重構可以應用於設計以及代碼,當您使用系統的現有設計對其進行改進時,可以提高可讀性,清晰度或使其更易於添加新功能未來。

無論您是否將重構應用於設計或代碼,這個想法都是一樣的。您維護現有的功能(您不會添加或刪除系統的功能),但最終還是可以生成更容易使用的功能。

1

我認爲重構的範圍取決於重構的目標。

我一直認爲重構是在不改變代碼的最終結果的情況下改變代碼(人員,其他方法等)。我認爲範圍取決於你想解決什麼問題。如果你只是想加快一件事,那麼你可能會重構一種方法。然而,如果你累積了大量的「技術債務」,並且需要重組你的程序,以使其更容易擴展,更易於閱讀,更容易測試等,那麼你可能確實會重構整個設計。

事實上,我剛剛對我的設計進行了一次巨大的重構,使其更容易添加其他功能。