通常,未使用/死代码不好,但是我想知道如何处理未使用的组件。
想象一下,如果我有一个向用户发送通知的应用程序,它会发送EmailNotification,但是一段时间之后,我们切换到使用SMS发送通知。我创建接口而不是删除EmailNotification类,而是说Notification,我具有这样的结构:
Notification
--SmsNotification
--EmailNotification
我不想删除EmailNotification,因为过一段时间后我们可以返回EmailNotifications,此更改就像将EmailNotification类标记为@Primary一样容易。
在这种情况下,其中一种实现总是死代码,我想知道是否还可以,或者通常如何处理?
最佳答案
实际上,这不是最佳实践。
代替这种做法,您可以将代码分成两个不同的模块,每个组件一个。通过这种方式,您可以通过构建自动化工具(例如maven或gradle)根据需要利用两个模块中的任何一个。因此,产生的jar将不包含任何无效代码。