Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/jsf/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/oracle/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
.net 如何防止代码过时?_.net_Scalability_Upgrade_Vb6 Migration_Obsolete - Fatal编程技术网

.net 如何防止代码过时?

.net 如何防止代码过时?,.net,scalability,upgrade,vb6-migration,obsolete,.net,Scalability,Upgrade,Vb6 Migration,Obsolete,这里的一些程序员一直在用VB6开发一个项目,他们说,如果他们想让自己的应用程序在更新的/未来的系统上运行,他们现在需要升级到vb.net,因为VB6很快就会成为历史 因此,他们一直在开发这个庞大的应用程序,他们将不得不从头开始重建(他们试图使用升级向导,但出现了太多错误) 这家公司的老板对于在一个项目上投入如此多的时间,而仅仅是为了翻身从头开始,并不感到太激动 这不是我的项目,我对vb一无所知,我是一名网络程序员 但是这些人能做些什么,这样就不会再发生这种情况,或者他们应该做些什么,这样现在就不

这里的一些程序员一直在用VB6开发一个项目,他们说,如果他们想让自己的应用程序在更新的/未来的系统上运行,他们现在需要升级到vb.net,因为VB6很快就会成为历史

因此,他们一直在开发这个庞大的应用程序,他们将不得不从头开始重建(他们试图使用升级向导,但出现了太多错误)

这家公司的老板对于在一个项目上投入如此多的时间,而仅仅是为了翻身从头开始,并不感到太激动

这不是我的项目,我对vb一无所知,我是一名网络程序员

但是这些人能做些什么,这样就不会再发生这种情况,或者他们应该做些什么,这样现在就不会成为问题了

有没有办法确保您的应用程序始终是可伸缩的,不会过时,需要重新编写


谢谢

考虑到编程技术的快速发展,过时是我们应用程序正常运行周期的一部分

我真的不知道桌面/服务器应用程序,但是,在web开发中,我们说5年是长的^^



当然,有可能进行更新、修补、纠正、修复等等。。。但这样做通常会降低代码的质量和应用程序本身的质量——这意味着随着时间的推移,维护成本会越来越高;最后,重新编写所有内容可能意味着在维护上花费更少的钱。

不,实际上没有什么,尽管Windows 7仍然可以运行DOS程序,所以他们的程序不会无法运行。他们将遇到的最大问题是没有新的支持或新的功能,以及关于该主题的知识社区不断缩小

我的公司目前正在用Fortran、Clipper、VB6和FoxPro等语言运行程序,其中一些已经运行了20多年,并且在所有Windows升级中毫发无损。通常导致旧程序无法使用的原因是无法重新编译程序来修复bug

不过,将程序的功能分解无疑会有所帮助,这样,如果您确实决定从VB6迁移到VB.Net,那么选择可重用代码就容易多了。

好问题

简单的答案是否定的,因为所有代码最终都会过时


若您用x86汇编程序编写代码,那个么它将持续一段时间。C代码的保存期也很长。但问题是,一项技术从汇编程序中抽象出来的越多,由于许多因素,它的保存期限就越短。

不要把重点放在不能淘汰的代码上。很少在适用的堆栈中工作。相反,要使代码清晰简洁,以便在时机成熟时进行迁移。相反,专注于不要让自己变得过时。努力保持最新状态,了解堆栈中正在发生的事情,并尝试了解正在发生的事情,即使你不能花时间完全投入其中

考虑到仿真和虚拟机,我觉得“遗留”代码实际上比以前想象的寿命更长。您应该关注的更多的是工具,而不是操作系统。

这取决于(也许)将代码与设计分离开来,特别是在web应用程序中,这些应用程序通常非常容易受到变幻莫测的时尚的影响。但如果代码库在当前技术上是可运行的,即操作系统仍将运行它,那么就没有理由“升级”


但是,确保代码永久使用的真正方法是编写一个应用程序,该应用程序在使用过程中变得不可或缺,但重写成本非常高昂,因此,为了确保其持续运行,我们做了所有事情,包括不淘汰操作系统和硬件。我相信这方面的一个例子是,美国社会保障/政府领域的一些核心系统仍在运行于1960年代早期的COBOL,并在旧的IBM大型机上运行。

正如其他人所说,这不是“我的应用程序如何不被淘汰”。更重要的是“当我的应用程序过时时,我如何快速恢复。”实际上,这只是其他问题的不同版本:

  • 当新版本的X问世时,我如何使用新功能
  • 当业务规则更改时,我如何更改应用程序
  • 当这里的应用程序想要访问数据时,如何快速公开数据
  • 当客户想要从一个厚客户机转变为web客户机时,我如何给他提供新的平台

这就是OO和SOA试图回答的问题。构建大量小型独立应用程序,并使用标准机制将它们松散地耦合在一起。当您出于任何原因需要升级时,请将其拔出、升级并重新插入

我不知道有任何公认的方法可以防止未维护的应用程序过时

如果你想防止一个产品过时,那么就把它设计成可升级的

至少在.NET中,您有很多很多用于创建可重用组件的选项:

  • 单独的程序集,可以在任何.NET项目中使用,如果需要使用不同的技术,可以在以后进行扩展以支持COM互操作

  • 网络服务;这些信息可以公开并在几乎任何环境中使用

  • 接口和控制反转可用于支持自由可互换的组件,理论上这些组件可能来自于甚至不是.NET的东西(只需构建一个COM包装器)

  • 进程间通信—如果所有其他操作都失败了,您可以直接创建一个内存映射文件或命名管道,然后开始从一个全新的应用程序导入(或发送到)数据

事实上,这些事情中有很多可能