迁移 MySQL 至 MongoDB 的工作中,我们选取了双写方案,访问存储层的逻辑集中迁移至 Mgr 类中。代码重构需要梳理出来影响了哪些接口,但倒查很繁琐,需要一些方法论提升梳理效率。
IDEA Call Hierachy
以 UserInfoMgr 权限为例,有 4 个方法,对于方法 insert:
- 把鼠标移到方法名 insert 上;
- 按下组合键 ctrl alt H,呼出 Call Hierachy 子窗口;
- 点击 Export To Text File,把内容 Save 到本地文件 UserInfoMgr.txt;
现在 UserInfoMgr.txt 已经包含了方法 insert 的调用链,然后对剩下 3 个方法执行同样步骤。
VSCode Plugin - Transform
接下来使用 VSCode 插件 Transformer 对 UserInfoMgr.txt 进行格式处理。先 ctrl + a 全选文字,快捷键 ctrl + shift + P 打开命令窗口,顺序执行以下 4 个命令:
- Transform:Filter Lines
- Transform:Trim Lines
- Transform:Unique Lines
- Transform:Sort Lines
最后得到工程 server 层暴露出去的接口: