保持概念的完整性是困难的。这是一个需要在架构、设计和施工过程中不断解决的问题,而且当项目易手时,情况只会变得更糟。
可以帮助的一件事是让原始开发团队的人员参与维护。与从头开始学习的人相比,已经了解项目概念框架的人将能够更好地遵守该框架。
不过,除此之外,这归结为最佳实践这个巨大的话题。几乎所有“好的”编程实践都旨在易于维护。良好的设计和施工实践导致项目更容易被后来的开发人员掌握。Steve McConnell 谈到管理复杂性是软件工作的核心要求。如果事先对复杂性进行了良好的管理,那么对于后来者来说,保持项目概念完整性的完整性会更容易。
另一方面,良好的维护实践涉及对抗熵。保持系统处于测试状态。不要为了快速修复或新功能而降低内聚或增加耦合。事实上,旨在使项目与所做的每一次更改都更加一致。
如果系统的设计考虑到了可扩展性,那么维护程序员在工作时保持概念完整性应该不难。即使不是,他们仍然应该可以在维护期间改进项目,而不是进一步降低项目。
如果维护开发人员只是简单地将事物组合在一起并以“简单”的方式做事,它总是会降低概念的完整性并增加项目的复杂性。开发人员必须意识到这一点,他们必须有意识地选择最能避免这种情况的做法。
主要思想是维护应该是一个不断改进项目的过程,而不是不断降低它。Michael Feathers 的《有效地处理遗留代码》是一本涉及该主题的优秀书籍。你可能想检查一下。