我听说很多开发人员将代码称为"遗留".大多数情况下,代码是由不再在项目上工作的人编写的.是什么让代码,遗留代码?
更新回应:"从祖先或前任或过去传下来的东西" http://www.thefreedictionary.com/legacy.显然你想知道其他的东西.你能澄清或扩展你的问题吗?美国洛特
我正在寻找遗留代码的症状,使其无法使用或使用噩梦.什么时候扔掉它更好?我认为应该更频繁地抛弃代码,重新发明轮子是开发的宝贵部分.不重新发明轮子的学术理想是一个很好的理想,但它不是很实用.
另一方面,显然遗留的代码值得保留.
Bri*_*sen 22
Michael Feathers在他的着作"有效地使用遗留代码"一书中有一个有趣的定义.根据他的遗留代码是没有自动化测试的代码.
Shu*_*oUk 17
这是一个非常普遍的(并且经常被滥用的术语)但是以下任何一种都是合法的理由来调用app遗产:
代码库基于一种语言/平台,完全不受原始产品制造商的支持(通常说制造商已经停业).
(真正的1a)构建它的代码库或平台是如此之久以至于为系统获得合格或有经验的开发人员既困难又昂贵.
该应用程序支持业务的某些方面,这些方面不再积极发展,并且对于哪些更改极为罕见,通常是为了修复它,如果一些完全意外的变化(规范的例子是Y2K问题)或者某些规则/外部压力它.由于这两个原因都很紧迫并且通常是不可避免的,但是项目没有发生重大的发展,那些被指派处理这个问题的人很可能不熟悉这个系统(以及它累积的行为和复杂性).在这些情况下,这通常是增加与项目相关的感知和计划风险的理由.
系统已经/或正在被另一个系统替换.因此,系统可以比最初预期的少得多地使用,或者可能仅作为查看历史数据的手段.
小智 12
遗产通常是指不再开发的代码 - 这意味着如果您使用它,则必须按照原始条款使用它 - 您不能只编辑它以支持当今世界的样子.例如,遗留代码必须在当前可能不存在的硬件上运行 - 或者不再受支持.
一位同事曾告诉我遗留代码是你自己没有写过的任何代码.
可以说,它只是代码的一个贬义词,我们不管出于什么原因不再喜欢(通常因为它不酷或时尚但它有效).
TDD旅可能会建议没有测试的任何代码都是遗留代码.
没人会读这本书,但我觉得其他答案不太正确:
http://en.wikipedia.org/wiki/Legacy_code
"旧版代码是与不再支持或制造的相关的源代码"