您完成了哪些软件转换/重写失败?

时间:2009-02-26 20:44:55

标签: refactoring code-migration

您参与了什么转换/重写失败了?过程中涉及的语言和框架在哪里?有问题的软件有多大?最后,您从参与该过程中学到的最重要的一件事是什么。

这与此question有关。

5 个答案:

答案 0 :(得分:4)

我最喜欢的一个是在Sun OS 3上开发服务器应用程序的固定价格项目,最终需要在运行某些(当时)Unix当前版本的旧数据通用机器上运行。

现在,我们提前知道将C代码移植到Data General会很痛苦,因为它有9位字节/ 36位字但没有意识到......缺乏... Unix实现将是

从移植任务开始大约需要5个小时,明智的执行决定只是为客户购买一个闪亮的新太阳箱。

答案 1 :(得分:0)

我最近有一个很大程度上失败了,因为我无法彻底说服管理层,从长远来看,重写应用程序会比保持现状更便宜。如果我早点读完技术债务,可能会取得成功。杰夫关于这个主题的最新文章对我来说已经晚了8个月了!

所有告诉应用程序的是大约75K行的C#代码,但这是一个维护噩梦(内部应用程序)。少数几个神类和其余的是我所谓的木偶类(仅按名称分类,神类为他们所做的一切“拔掉了”)。几乎没有任何东西是用户可配置的,所以开发人员负责一切。

事后看来,成功的最大障碍是应用程序本身。保持运行是我们三个人的全职工作。我认为我们可以做的最好的事情就是继续进行重构。 “版本2”应用程序有一些非常好的概念,我们应该继续尝试将它们集成而不是重新开始...如果我们这样做了,我们可以在稳定原始应用程序之后构建大组件。

答案 2 :(得分:0)

我曾尝试将我在DarkBasic中写的游戏移植到C。

我遇到的问题是DarkBasic是如此有限的语言(例如,没有参数通过引用传递)当我移植它时我试图做一个直接端口... IE,我试图不适当地重构它我正在使用的语言......

结果很乱......

我可能已经开始工作了,但是我在大约2天后停止了,因为我意识到它需要的不仅仅是翻译转移到C ......

答案 3 :(得分:0)

我当天用C和Allegro编写了一个Pacman克隆,我试图重写它以在Dreamcast上运行。

这是一些可怕的代码。我无法从代码库中挽救太多东西并废弃了这个想法。

我了解到,不管我当时的想法如何,那时我是一个非常可怕的程序员,在过去的几年里我学到了很多东西。这也让我意识到,在几年的时间里,我应该学到足够的东西来回顾我今天写的代码并思考同样的事情。基本上,我应该努力变得更好。

答案 4 :(得分:0)

我曾被要求转换一个程序,该程序将DEC-System10上的照片排版机驱动到IBM 4381.查看代码时,我发现原始开发人员没有明显的原因编写过该程序的各个部分。以下不同的语言:

  • DEC FORTRAN
  • Algol 68
  • BCPL
  • MACRO-10

这是对DEC支持多语言编程的一个很好的证明,但这是我唯一一次去找用户说“不能做”。