当前位置: 首页 > 面试题库 >

重写旧代码

何禄
2023-03-14
问题内容

我的部门目前承担着维护相当大的COBOL代码库的任务。我们想知道如何添加新功能来满足业务需求。如今,COBOL程序员很难再出现了,我们还认为,使用Java或C#等更现代的语言可以提高生产率。

我们认为我们有四个选择:

  1. 从头开始重写所有内容,将旧应用程序留给自己,直到准备好进行替换
  2. 从头开始重写所有内容,使一些人可以维护旧的应用程序,以适应新的业务需求。
  3. 用现代语言编写所有新功能,并找到某种方式将新代码与旧功能集成在一起。
  4. 继续维护旧的应用程序。

您认为什么是我们的最佳选择,为什么?


问题答案:

诚然,问题涉及到cobol,它会根据您的需求做出任何特定的回答,如果您说“我们有一个旧的VB应用程序”或旧的C应用程序,则选择#3始终是正确的方法。

我曾在3家决定选择方案2的公司工作。第2位破产者试图为新系统付费,而仅从旧版本中获得收益,第3位确实非常接近。

行动3的另一个因素是,您必须保留多年来使用的所有旧错误修正程序。每次重写总是会引入越来越多的错误,部分是因为您希望快速完成重写,部分是因为您将用一种陌生的新语言编写它,部分是因为所有新代码都包含错误。

重构并替换旧应用程序的逻辑块,最终您将拥有一个漂亮的闪亮新应用程序。从GUI开始,以获得最安全的新方法。此外,当您用新内容重新编写应用程序时,更新的内容将是最酷的,新应用程序将过时,您将再次发布相同的问题!



 类似资料:
  • 问题内容: 我仍然主要从所购买的书中学习,但是今天我提醒我,尽管我今年购买了有关PHP编程的书,但我的书已经过时了。现在,我知道不推荐使用PHP中的mysql_ *命令,而应使用更安全,更稳定的预处理语句和PDO代替它们。因此,我根据自己的意愿重写了所有网络,也许我会需要您一些建议,以帮助他们正确地进行网络建设以及所有经验丰富的人的工作:) 因此,我将在这里仅以主要部分(连接到数据库并选择数据库)

  • 使用标准代理,我能够截获对equals()方法的调用并执行我的逻辑。问题是这类代理不能强制转换到原始类。 似乎唯一的方法是重写CGLIB库中的一些类。这似乎不是个好主意。

  • 本文向大家介绍java tostring方法重写代码示例,包括了java tostring方法重写代码示例的使用技巧和注意事项,需要的朋友参考一下 当需要将一个对象输出到显示器时,通常要调用他的toString()方法,将对象的内容转换为字符串.java中的所有类默认都有一个toString()方法 默认情况下 System.out.println(对象名)或者System.out.println

  • 问题内容: 我正在使用AngularJS来构建与旧版Flex应用程序交互的HTML控件。来自Flex应用程序的所有回调都必须附加到DOM窗口。 例如(在AS3中) 将会通知 我想从JS调整大小函数中调度一个控制器可以听到的事件。似乎创建服务是必经之路。您可以从AngularJS外部更新服务吗?控制器可以侦听来自服务的事件吗?在一个实验中(单击以拨弄小提琴),我确实可以访问服务,但更新服务的数据未反

  • 本文向大家介绍Java中equals()方法重写实现代码,包括了Java中equals()方法重写实现代码的使用技巧和注意事项,需要的朋友参考一下 Java中equals()方法重写实现代码   Java中的equals()方法是在Object类中定义,Object类是所有类的父类。换句话说,任何类都隐含地继承了该方法。判断两个对象的内容是否相同,必须使用equals()方法,对于没有重写该方法的

  • 上面的代码是创建魔方的代码。我如何以更简单的形式编写下面的代码,让java初学者能够理解?