删除对功能的支持的"最佳做法"是什么?

Fre*_*eit 7 java

我有一个处理多种消息格式的库.这些格式中的每一种都是密切相关的,它们是一个共同的基础XML,然后每个格式都有一些额外的约束或额外的数据.

创建其中一种格式只是为了支持概念验证或试点工作.飞行员结束了,它不再被使用,并且它施加了一些尴尬的限制.我已获得删除对它的支持的许可.这样做的正确方法是什么?

我在想:

  1. 打开问题以跟踪/记录更改
  2. 标记SVN修订版,"FEATURE_X在此处删除"
  3. @Deprecate特定的类.引用这个问题.承诺.
  4. 观察警告并查看弃用的影响
  5. 让它坐一会儿,让团队有机会处理弃用
  6. 最后删除代码.验证测试是否正常.承诺.

ora*_*ips 5

我觉得你有一个很好的清单.为了回应@hvgotcodes,这预示着团队之外的任何人都不会使用API​​.在任何一种情况下,在不推荐使用的方法中,我会记录任何对它的调用的堆栈跟踪.这将捕获内部和外部用途.


小智 3

对于上述步骤,我建议与其他人明确沟通,该功能将在给定的截止日期前删除。如果功能和/或团队很大,我会建议让其他人承诺在该日期之前删除其代码依赖项(团队越大,承诺就越重要,请考虑经理对此任务的支持)。正如我的经验所示,删除某些内容对一些用户来说是一个很大的惊喜,并且总有人在某个地方拥有一些仍然依赖于 FEATURE_X 的代码。最后但并非最不重要的一点是,进行空运行删除的额外步骤,可以轻松快速地撤消。