迁移 MySQL 至 MongoDB 的工作中,我们选取了双写方案,访问存储层的逻辑集中迁移至 Mgr 类中。代码重构需要梳理出来影响了哪些接口,但倒查很繁琐,需要一些方法论提升梳理效率。

IDEA Call Hierachy

以 UserInfoMgr 权限为例,有 4 个方法,对于方法 insert:
image.png

  1. 把鼠标移到方法名 insert 上;
  2. 按下组合键 ctrl alt H,呼出 Call Hierachy 子窗口;
  3. 点击 Export To Text File,把内容 Save 到本地文件 UserInfoMgr.txt;

现在 UserInfoMgr.txt 已经包含了方法 insert 的调用链,然后对剩下 3 个方法执行同样步骤。

VSCode Plugin - Transform

接下来使用 VSCode 插件 Transformer 对 UserInfoMgr.txt 进行格式处理。先 ctrl + a 全选文字,快捷键 ctrl + shift + P 打开命令窗口,顺序执行以下 4 个命令:

  1. Transform:Filter Lines
  2. Transform:Trim Lines
  3. Transform:Unique Lines
  4. Transform:Sort Lines

最后得到工程 server 层暴露出去的接口:
Image_20220527173829.png