1
silencil 2021-11-16 15:50:22 +08:00 1
我哆啦 A 梦圆手可以伸,百宝口袋是万万不会为你打开的
|
2
dbpe 2021-11-16 16:01:56 +08:00
这个时候体现单测的重要性了..我想知道大公司如何规避的..
|
4
chendy 2021-11-16 17:42:20 +08:00
为啥要改
不放心的话复制粘贴一份给要变更的逻辑用 |
5
monetto 2021-11-16 17:45:44 +08:00
如果要修改一个接口,想要确定谁调用过,那直接 IDEA Alt + F7 查看所有调用方不久行了?
|
6
gadfly3173 2021-11-16 17:47:36 +08:00
可以考虑给这个底层逻辑多加个参数 /改变参数类型什么的,然后 build 一下看看什么地方编译不过,给这些地方打标记啥的
|
7
DarkCat123 2021-11-16 18:11:53 +08:00
@monetto 可能说的调用是指 RPC 。
|
8
tyrantZhao 2021-11-16 19:18:00 +08:00
如果是线上的,建议不要这么改动,可以新见一个接口,灰度放量逐步迁移,如果有 ut,可以先跑下 ut
|
9
Jooooooooo 2021-11-16 19:25:13 +08:00
这种最好是新增一个接口
|
10
ScepterZ 2021-11-16 19:29:31 +08:00
如果公司有链路追踪的基础设施,这个事就很简单
|
12
BigMountain 2021-11-17 09:55:09 +08:00
我们做全链路切接口的时候是直接拿其他团队代码来看接口依赖 然后挨个对调用场景..
|
13
zhanlanhuizhang 2021-11-17 10:03:26 +08:00
https://shimo.im/docs/rK9tRTqTV3KqQvrt/read
这个大概是你想要的。但是你的项目大概需要重构。 |
14
zhanlanhuizhang 2021-11-17 10:06:23 +08:00
https://www.bilibili.com/video/BV1iT4y1d7UW?spm_id_from=333.999.0.0
这个是演示。里面有个功能演示。修改的代码影响了哪些功能。哪些类。 |
15
Aresxue 2021-11-17 13:24:45 +08:00
提供点思路
1.动态调用分析,依赖全链路监控系统,如 skywalking 、pinpoint ,有了这个之后你的方法被哪些服务调用甚至流量都能够计算出来 2.静态调用分析,在打包过程中对最终打包的 jar 的 class 进行静态分析(核心就是记录方法签名),这样就能够知道一个 rpc 方法被哪里所调用,缺点是代码里写了但是实际中可能已经不再使用这种情形无法分析,优点是成本较小,对上层业务 0 感知 3.全文代码检索,类似 kooder 这种全局代码检索,直接输入类的全名就能看到调用的地方,同样对上层业务 0 感知,且能覆盖全部分支,而非仅运行时的版本,缺点是如果是三方合作拿不到源码的话就比较难搞,相比之下 1 和 2 只需要一个部署的 jar 包 |