I have a library that deals with several message formats. Each of these formats is closely related, they're a common base XML then each has some additional constraints or extra data on top of it.
One of these formats was created just to support a proof-of-concept or pilot effort. The pilot is over, its no longer being used, and it imposed some awkward constraints. I've gotten permission to remove support for it. What is the correct way to do this?
I'm thinking:
I think you have a good list. To echo @hvgotcodes, this presupposes the API is not used by anyone outside your team. In either case, inside the deprecated method, I would log stacktraces for any calls to it. This would catch both internal and external uses.
To the steps above, I'd suggest to clearly communicate to others that the feature will be dropped by the given deadline. And if the feature and/or team is big, I'll suggest get others commitment to remove their code dependencies by that date (the bigger team is, the more important the commitment is, consider managers support for this task). As my experience shows, removing something is a big surprise to a few users, and there is always someone somewhere with somecode that still depends on the FEATURE_X. And last but not least, additional step to do a dry-run removal, that can be easy and quickly undone.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With