每个人都在谈论软件开发中的遗留代码,我听说过过去十年中用来将任何代码库描述为不良代码的术语。
对程序员一样具有如此强大内涵的这个术语从何而来?
我相信肯定有一些关于软件开发的书是这个学期的开创者。我很想找到术语“旧版代码”的由来。
每个人都在谈论软件开发中的遗留代码,我听说过过去十年中用来将任何代码库描述为不良代码的术语。
对程序员一样具有如此强大内涵的这个术语从何而来?
我相信肯定有一些关于软件开发的书是这个学期的开创者。我很想找到术语“旧版代码”的由来。
Answers:
遗留代码基于遗留系统的短语,该短语专门适用于代码。根据Wikipedia的说法,它可能可以追溯到1970年代,并在1980年代很普遍。它随着1990年代的技术爆炸而起飞。
这可以通过Google的ngram查看器看到:旧版系统,旧版代码
进一步研究这一点,您可以找到1970年代 “传统系统”一词的有据可查的用法。
谷歌拥有的“遗留系统”最早的例子是在《1978年美国陆军数值分析和计算机会议论文集》中:
……对于明确定义的问题,经过精心设计和记录的解决方案是需要了解遗留系统的操作并充满信心地更改现有系统。
在Clout中,还有一个“遗留系统”在技术行业之外使用的示例:《女人力量与政治》( 1976年):
……此外,她在强大的银行和货币委员会中位居第三,这是她自己建立的权力职位,而不是通过旧制度建立的。
除了这些例子,它的使用范围已经超出了纯软件领域,确切地讲该术语的起源的细节可能已被时间所束缚。鉴于军事和政治参考,它可能起源于它们(主要是军事及其行话迁移(“似乎“ kluge”是通过战争期间在剑桥运行的许多军事电子项目的校友来到麻省理工学院的。麻省理工学院古老的20号楼,里面装有TMRC ...“))
传统代码库通常不是指POS系统,而是指代码库中存在的任何系统或不再用于新开发的系统。例如,我的团队目前支持一些被认为是遗留代码的.net 1.1和2.0应用程序。如果有需要修改的时间,它们将被重写或更新为使用最新的框架和标准。在此之前,我们将它们作为遗留应用程序进行管理,这些遗留应用程序需要继续运行,但未实施任何增强功能或代码修复。
还有一些我们根本不支持用VB6和Classic ASP编写的旧系统。我们没有能力或指令来支持或修改这些系统,但是只要它们继续运行并且不需要增强,就不可能对其进行更新。这些系统中没有任何特别错误的地方。他们按照应有的方式执行工作,除了看起来像90年代中期至后期的应用程序外,他们没有大的问题。
因此,传统并不意味着POS只是使用不符合当前标准的较早技术或语言创建的系统。一些遗留系统之所以可以成为POS,主要是因为它们缺乏当今存在的开发方法,这些方法不支持托管代码以及15年以上的资深Web编码人员的经验。
遗留代码一词至少可以追溯到1989年,由Glenn Everhart在comp.sys.amiga中使用:
(...顺便说一下,是的,我这样做有时程序C也...但我觉得它更容易转换的遗留代码 W / O改变自己的语言...)
我在Google图书中没有发现可验证的东西。