我已经听到许多开发参考代码为"遗产"。大多数时候,它是代码已被写的人不再工作的项目。是什么让码,传统的代码?

更新的响应:"流传下来的东西从一个祖先或前任或从过去的" http://www.thefreedictionary.com/legacy.显然你想知道的东西。你能不能澄清或扩大你的问题吗?S.洛特

我要寻找的症状的遗产代码,使它无法使用或一场噩梦的工作。当它是更好的把它扔掉?这是我的意见,该代码应该扔掉更经常和重新发明轮子是有价值的部分的发展。学术理想的不重新发明轮子是一个很好的一个,但它不是非常实用。

另一方面有明显的遗产代码值得保留。

有帮助吗?

解决方案

通过使用硬件,软件,应用程序接口,语言,即是不再支持或已被所取代技术或功能,通常与小相结合,没有过更换该代码的可能性,而不是直到它或系统去世使用它。

其他提示

  

这是什么,使代码,遗留码?

与普通的传统,当作者是死亡或失踪,你作为继承人得到他的代码全部或部分。

您挥泪告别,并试图找出如何处理这些垃圾运做。

迈克尔羽毛在他的书一个有趣的定义修改代码的工作。据他遗留代码是代码,而无需自动测试。

这是一个非常一般性的(而且常常被滥用的术语),但以下任将正当的理由呼吁程序的遗产:

  1. 代码基础是基于一个语言/平台,这是完全不支持通过制造商原始的产品(通常所说的制造商已经出的业务)。

  2. (真1a)的代码或基平台上,它是建立是这么老了,获得资格或经验丰富的开发人员对该系统既是难和昂贵。

  3. 该应用程序支持的某些方面的业务而不再积极增长和为其改变是极为罕见,通常要修复它,如果东西完全出乎意料的变化在它的周围(典型的例子是Y2K问题),或者如果一些条例/外部压力。由于两个原因都是按通常不可避免但没有明显的发展已经发生在该项目很可能这些人处理,这将是不熟悉该系统(和它的积累了行为和错综复杂).在这些情况下这常常会被理由增加所感知的和计划的相关风险的项目。

  4. 该系统具有/或正在更换为另一个。作为这种系统可以用于远远低于最初的目的,或许仅仅作为一种手段查看历史数据。

遗产通常指的是不再被开发的代码 - 这意味着,如果你使用它,你必须使用它原来的条款 - 你不能编辑它支持当今世界的样子。例如,遗留的代码必须在硬件上运行的今天可能不存在 - 或者不再支持

一个同事曾经跟我说,旧代码是你没有写任何代码。

可以说,它只是一个代码贬义词,我们不希望任何更多的出于某种原因(通常是因为它的不冷静或时髦,但它的工作原理)。

在TDD旅可能表明,没有任何测试代码是传统代码。

遗留代码是,涉及到无不再支持的或制造的操作系统或源代码其他计算机技术。

没有人会读这个,但我觉得其他的答案没有获得完全正确:

  1. 它有价值,如果没有它就会被扔掉了很久以前
  2. 其难以理解因为
    1. 缺乏文件,
    2. 原作者无法被找到,或者忘了(是2个月后你的代码可以被遗产代码!),
    3. 缺乏测试或系统中
    4. 没有遵循现代做法(即没有上下文举行过)
  3. 有一个要求改变或扩展。如果没有一个要求改变它,这不是传统的代码 由于没有人关心它。它做的事情没有人 周围的称呼它的遗产的代码。

http://en.wikipedia.org/wiki/Legacy_code

“传统代码是涉及源代码无不再支持或制造的”

任何代码的支助(或文件)的缺失。是它:

  • 内嵌的意见
  • 技术文件
  • 发言的文件(人是谁写)
  • 单元测试记录该部工作的代码

有关我遗留码是被之前的某一模式的转变编写的代码。 它可能仍然是非常多的使用,但它是在被重构,使之行的过程。结果 例如旧程序代码在否则OO系统挂在

当它已取代一些代码(或其他任何东西,真的)变成“遗产”新/更好,然而,尽管它仍然使用,“野生”,更让。

保留了传统的代码是没有这么多,因为它是保持这样的作品,无论多么不好的代码的学术理想。在许多保守的企业的情况下,会被认为不是把它扔了,从头重新开始更加实用。选择你熟悉的魔鬼......

遗产代码代码,是痛苦的/高昂保持目前不断变化的要求。

有两种方法,这可能发生这样的情况:

  1. 代码是不合适的改变
  2. 语义的代码已被换出来的硅

1)为容易的两种承认。它是软件,具有根本的限制使其无法跟上与生态系统周围。例如,一的系统围绕着O(n^2)算法不会的规模超出了某一点,必须重新编写,如果要求朝着这个方向前进。另一个例子是代码使用图书馆,是不支持在最新的操作系统版本。

2)是难以承认,但是所有的代码这种股份的特征,人们害怕改变。这可能是因为它是严重写/记录的开始,因为它是未经检验的,或者是因为它是非微不足道和原作者的理解是离开团队。

ASCII/Unicode字,包括生活代码拥有的语义含义,"为什么","什么",并在一定程度的"如何",在人们的心目中与它相关联。遗产码是联合国所拥有或者不具有的含义相关联的大部分。一旦发生这种情况(与它可能发生下来一天真的很糟糕代码写的),以改变这种代码,必须有人了解和理解它。这个过程是一个重要部分所需的时间来编写它在第一位。

你害怕重构代码的一天,当你的代码已经成为遗产的一天。

我考虑码"遗产"如果任何或所有应用以下条件:

  • 它被写入使用的语言或方法,也就是一代人的后面前的标准
  • 代码是一塌糊涂没有规划或设计,在它的背后
  • 它是写在过时的语言,并在一个过时的、不面向对象的风格
  • 这是很难发现开发人员人知道的语言,因为它是那么老

不像一些其他意见,在这里,我见过很多现代的应用程序的工作体面没有单元的测试。单元测试仍然没有抓住每一个人。也许十年从现在的下一代的程序员会查看我们目前的应用程序,并考虑他们的"遗产"用于不含有单元的测试,只是因为我认为非面向对象的应用程序的遗产。

如果些变化需要作出一遗产代码,这是更好地简单地离开它-是随大流。如果应用程序需要大幅功能的变化,GUI大修,以及/或者你可以找不到任何人知道的编程语言,是时候扔掉,然后重新开始。一句警告,但是:改写从头开始可能是非常耗费时间,而且很难知道如果你已经复制的所有功能。你可能会想到测试案件和单元测试的书面遗留的应用程序和新的应用程序。

坦白地遗留代码是任何代码,框架,API,其他软件构造的thta不是“酷”了。例如COBOL被一致视为传统而APL是没有的。现在,人们还可以使COBOL被consideed传统和APL不是因为它有1m左右的时间安装基地为APL的情况。但是,如果你说你需要在APL代码工作的回复不会是“哦,不,是传统的东西”,而是“下个世纪的哦,我的上帝,我猜你不会做任何事情”看到有什么区别?

这是在软件生态系统抛出周围经常(和相当统称)的通用术语。

好,我喜欢把遗留代码的遗传代码即可。这仅仅是写在过去的代码。在大多数情况下,传统的代码不遵循新的/当前的做法,并经常被认为是过时了。

旧代码被写入任何东西比一个月前更多: - )

这往往是未在时尚的脚本语言大谈特谈编写任何代码,而我只用半开玩笑的。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top