我们有一个相当大的单片软件,我们想在更大的范围内进行重构。第一步是派生出几个可以独立编译的工件。鉴于应用程序的大小,我们希望尽可能自动化。一个例子:+ 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
提交
取消