我是该项目的唯一开发人员,就像其他软件项目一样,将来可能会被其他人采用。
假设我使用模式X来实现功能A。在开发和完成功能之后,我意识到可以使用我刚刚学习的模式Y来实现相同的功能。但是功能A运行良好,并且从X到Y的重构既耗时又无济于事。
然后是实现功能B的时候了。它与A相似,但是这次我想借此机会使用模式Y。我对最终结果感到满意,比使用功能A更好,但是现在我的代码使用了两个具有相似特征的X和Y不同的图案。
但是没有真正的理由使用不同的模式,除了以下事实:构建功能AI的技能不足以使用与功能B相同的模式。
请注意,此问题不是针对给定问题选择正确的模式;这是在代码库中共存的两种模式,用于解决类似的问题,如果有足够的时间进行重构,则可以将其减少为一种。
- 该代码闻到了吗?
- 保持这样的源代码有什么缺点?
- 我应该只使用一种模式吗?即重构A以使用Y或在编写B时继续使用X?
- 从源头上,我该如何传达出针对相似功能存在两种不同模式的原因基本上是没有原因的?
- 我是否担心下一位开发人员对我的代码的看法?