我們有一個相當大的單片軟件,我們想在更大的范圍內進行重構。第一步是派生出幾個可以獨立編譯的工件。鑒于應用程序的大小,我們希望盡可能自動化。一個例子:+ package1| || + Service1|+ package2| || + Service2|+ interfacepackage假設,Service1僅在內部使用package1,不應觸及。假設Service2用于Service1我想自動生成一個最小接口Service2,將該接口放入包中interfacepackage并將其中的依賴項更改Service1為該接口。手動執行此操作一點也不麻煩。Idea 和 Eclipse 都提供半自動重構,但我們希望將它們制定為元規則。我曾希望 eclipse 或 intellij 有一個編程接口來定義這些規則,但我還沒有找到它們。我什至找到了 eclipse 重構腳本,但這些似乎僅限于命名類的重構,所以如果我知道所有應該重構的服務,eclipse 重構腳本會有所幫助,但如果我想定義要重構的類的條件,則不會。我應該在哪里尋找解決方案?澄清:評論:那么你的問題是什么?我們有高達 3 位數的服務構成了這個整體。這些大約是。20 種不同的包裝。整個軟件接近100萬行代碼。我的問題只是大小。手動進行重構可能需要幾個月的時間,我們可能會錯過一些手動進行的事情。此外,消除服務的糾纏只是第一步。所以我們期待在未來應用很多類似的重構。
1 回答

狐的傳說
TA貢獻1804條經驗 獲得超3個贊
IntelliJ IDEA 有一個“open api”,可用于插件開發。
優點是 IntelliJ 解析 java 代碼,“元模型”可供插件作者使用。
在 IntelliJ 中,“AST”模型指的是“抽象語法樹”。這種結構對于進行重構的插件來說是無價的。
你可以很容易地看到包結構、類名、代碼等等。
添加回答
舉報
0/150
提交
取消