aoe
2021-12-22
大部分项目自身的Bug数远远超过废弃接口可能带来的Bug,所以很难及时清理。
作者回复: 没太了解这个逻辑
共 2 条评论
4
Jxin
2021-12-31
更不更换废弃接口,跟工具本身关系其实不大。强行废弃不见得能推动使用方变更,反而更容易让他们不敢再更新版本,毕竟够用。 为什么这么说?因为更换废弃接口这件事,对业务毫无价值,业务一定不买单;对开发者个人成长和业绩也毫无帮助,所以单这件事开发者本身也不买单;有变更就会有风险,所以变更必须测试验证,验证有成本,所以换废弃接口即有风险也有成本。综上所述,百害而无一利的局面,不动就是最优解。 那怎么破局?首先不是所有局都该破,我们是在有限的资源下开发,只要确定不会有损失,或则损失可控,选择不变就是合理的。但是这建立在一个脆弱的前提上,就是我们能够准确识别危机(黑天鹅)。所以我觉得,为了成本不是所有局都要去破,但对于可能发散发展的危机要保持敏感和警惕。接下来就是怎么做了,如果更换废弃接口本身无利可图,那就把它跟有利可图的事打包一起来看。比如,系统优化升级必须完成涉及服务的废弃接口更换。系统优化是有利于个人成长且对晋升有帮助的事项,打包一起后就也能依托这份利益对开发者的驱动力。
作者回复: 唉,老大难问题。
1
xiaobang
2021-12-22
非jdk库的接口也可以使用这种废弃机制吗?
作者回复: 是的
共 2 条评论
ifelse
2022-10-14
来自浙江
学习打卡
ABC
2021-12-26
在Object.java里面就有例子, finalize()方法就是在JDK9被废弃了,而且forRemoval=true,具体可以看看: https://github.com/openjdk/jdk/blob/master/src/java.base/share/classes/java/lang/Object.java#L576