我正在對Spring-Java EE商業應用程序進行大規模的重構。然而,所有的重構都將在我們用作實用類(驗證器,算法,對象處理邏輯,資源管理,漂亮工具等)的許多靜態類中,而不是在控制器和持久性類中。Spring Java EE中的大規模重構
此外,使用這些靜態工具類中的方法的關鍵控制器不會受到影響,因爲我正在使更改儘可能透明。
事情是,我是一些控制器的所有者,所以我可以進行任何必要的更改以促進我的靜態實用程序類中的更改。例如,如果我更改了一個引發自定義異常的方法,那麼我也可以進入控制器並優雅地處理該異常。
但是,這是一個大型項目,還有許多其他開發人員正在研究它,其中許多人日復一日地使用這些靜態工具類。所以,如果我拋出新的異常,創建新的重載等,它將打破遺留代碼。
我已經厭倦了寫非兼容的(閱讀:殘缺的)代碼,這些代碼不是語義的,包裝了現有的醜陋邏輯,並且不允許我做出更靈活的設計。考慮到我們距離生產日有一段不錯的(精確的:2個月)的距離,我可以要求所有開發人員按照我的新合同重構他們的代碼,或者我繼續寫下遺留問題,垃圾包裝的代碼不能真正幫助任何東西?
Upvoted但我不同意最後一段。實用類應該像靜態類一樣完美,並且注入會使未來的重構變得非常複雜,如果不是幾乎不可能的話。 – 2015-08-10 17:53:13