弃用一组相关方法的最佳做法是什么?

What's the best practice for deprecating a set of related methods?

我想弃用一个方法。它调用一些现在已过时的辅助方法,并通过现在也已过时的测试在多个地方执行。换句话说,我在项目中有一组相关的方法/类/测试,它们都是同一个弃用的一部分,应该同时删除。

当我稍后回来尝试删除顶级方法时,我如何确定我已经找到了所有相关的东西?显然,我可以将自己的笔记放在某个地方,告诉我要删除哪些相关方法。如果做不到这一点,我可以 1) 删除端点,2) 寻找失败的测试并删除它们,以及 3) 依靠 IDE 找到现在未使用的方法并删除它们,但这似乎容易出错对我来说。

是否有弃用一组相关方法/类/测试以确保它们在以后同时被删除的标准做法?

我不知道具体的做法或工具。其中:eclipse 等工具可以很容易地向您发出未使用的 private 方法的警告。

无论如何,我建议简单地"take notes"。意思是——在你的错误跟踪系统中打开一个缺陷,然后简单地列出你以后打算删除的方法和测试。因此,您只有一个地方可以概述您的计划。

如前所述:有些工具可以告知未使用的方法。在删除已弃用的方法之前,只需 运行 该工具。 运行 之后再次使用它 - 然后处理在再次使用该工具时 运行 添加的新消息。

在方法上使用 @java.lang.Deprecated。不要忘记 javadoc :

/**
 * Does some thing .
 *
 * @deprecated use {@link #new()} instead.  
 */
@Deprecated
public void old() {
// ...
}

最佳做法是使用某种项目/问题跟踪-

创建一个任务(例如:JIRA-224)并写下应该替换的内容和方式。

为所有方法添加注释:

/**
 * method that does nothing
 *
 * @deprecated will be removed in JIRA-224.  
 */
@Deprecated
public void old() {
// .....
}

当您准备就绪后,分配执行任务的人员可以在所有文件中搜索 "JIRA-224" 并删除方法。