我加入了一個可以在產品上工作的團隊。這款產品已經存在了大約5年左右的時間,並且使用了ASP.NET WebForms。它的原始架構隨着時間的推移而逐漸消失,整個解決方案中的事情變得相對混亂。這絕不是可怕的,但絕對可以使用一些工作;你都知道我的意思。在現有系統上進行可重構性重構
自從6個月前加入項目團隊以來,我一直在進行一些重構。其中一些重構很簡單,提取方法,拉方法提升等。一些重構更具結構性。後面的變化讓我感到緊張,因爲沒有一套全面的單元測試來陪伴每個組件。
整個團隊都需要通過重構進行結構變更,但是我們的項目經理表達了一些擔心,我們沒有足夠的測試來重構,因爲我們沒有引入迴歸錯誤進入系統。他希望我們先寫更多的測試(針對現有架構),然後執行重構。我的觀點是系統的類結構過於緊密,無法編寫足夠的測試,而在執行我們的重構時使用更多的「測試驅動」方法可能會更好。我的意思不是針對現有組件編寫測試,而是針對特定功能需求編寫測試,然後重構現有代碼以滿足這些需求。這將允許我們編寫可能在系統中具有更長壽命的測試,而不是編寫一堆「丟棄」測試。
有沒有人有任何經驗,最好的行動是什麼?我有自己的想法,但希望聽到社區的一些意見。