何时删除新弃用的代码?

Joh*_*ohn 3 refactoring

我花了一个月的时间编写了一个精心设计的支付系统来处理信用卡支付和电子资金转账.我的工作在生产服务器上使用了大约一个月.客户最近告诉我,他不再想使用电子转账功能.

因为我必须与信用卡网关进行接口和通信的方式与电子资金转帐api完全不同(例如,cc公司在http请求之后立即给出交易响应,而eft公司在提交后5个工作日提供交易响应http请求),我花了很多时间编写自己的API来抽象常见的函数调用

功能支付(金额,pay_method,pay_freq)

function updateRecurringSchedule(user_id,new_schedule)

等等..

现在客户想要放弃EFT功能,我对这个抽象支付API的所有工作都已过时.

我正在考虑是否应该废弃我的工作.这是我的专业人士与骗子现在报废它:

PRO 1:消除代码膨胀

PRO 2:新开发人员不需要学习MY API.他们只需要阅读CC公司的API

PRO 3:因为EFT公司没有处理定期付款时间表,退款和验证,所以我编写了自己的应用程序来执行此操作.虽然CC公司的API允许此功能,但我选择使用我的,以便我可以简化我的代码.既然EFT已经不在了,我可以删除所有这些令人困惑的代码,只需依靠CC公司的系统来管理定期计费,付款时间表,退款,验证等......

CON 1:虽然我可以删除EFT代码,但仍需要时间来删除整合不同支付系统的整个框架.

CON 2:关于PRO 3,构建将支付系统与CC公司更紧密地集成在一起的功能需要时间.

CON 3:我觉得不安全地删除所有这些工作.我不认为我会再次使用它.但是,由于一些莫名其妙的原因,我现在"不能立即"删除这项工作.

CON 4:还有数据库的问题.如果我删除了我的业务逻辑代码,然后规范化数据库(最终将使用新的数据库模式),由于数据迁移问题,很难恢复此功能.然而,如果我将现有代码保留在现有数据库中,那么开发人员维护起来会更麻烦,但不必担心丢失任何内容.

所以我的问题是,我应该删除一个月值得近期的发展吗?如果是,我应该立即这样做还是等待X时间才这样做?

其他细节 我添加了CON 4

Ign*_*ams 8

正确使用VCS意味着永远不必为删除代码感到内疚.