标签: legacy-code

Modula-2开发人员?

猜猜没有新的项目在Modula,Ada,Oberon等语言中实现了(对吧?).但仍然存在遗留下来的遗留系统,在这里和那里寻找他们的创造者.他们找不到他们,因为他们可能会在一个享受自己的地方的海滩上退休.

严重:
1)我想知道是否还有活跃(经验丰富)的Modula程序员?
2)是否有任何将Modula代码移植到新硬件代码的经验?
3)有没有人知道可以重新设计的工具,意味着以图形方式映射程序和Mod文件.这些工具可用于例如.C程序.

当然,MODULA语法不相较于今天的.NET和Java API的使用方法1000的那个惊人的,但如果有人在你(有一些8000行汇编很好地混合)下降约100.000几乎无证sourcode的线,你应该知道,如果你更好地拒绝它.我有这个要求,我非常抗拒.(选项:端口并保留模块源或在9个月内迁移到其他语言!)

干杯

legacy-code modula-2

2
推荐指数
1
解决办法
1426
查看次数

计算年度百分比率(需要一些继承代码的帮助)

我正在制作一个应用程序,为客户提供大致的贷款报价(后来由其他后台系统计算).我收到了金融公司的一些代码,我们正在制作计算器.我的问题是,我不了解计算年度百分比率的代码部分(包括启动和月费).

可能是他们正在使用的这种方法,但我无法确切地说:http: //www.efunda.com/math/num_rootfinding/num_rootfinding.cfm#Newton_Raphson

代码工作正常,但我真的很讨厌在我不完全理解和/或信任的代码上构建应用程序.最终的回复将是源代码,它做同样的事情,但有评论和可理解的变量名称(我不是真的除外:-)所有的想法都是受欢迎的 - 也许某人有链接到解释它的文章.

(请注意,我绝不是数学或财务专家)

[snip]
int n = numberOfPayments;
double a = (amount / (monthlyPayment * Math.Pow(n, 2)) - (monthlyPayment / amount));
double d = 0;
if (a == 0)
{
    d = 0;
}
else
{
    for (int qq = 0; qq < 20; qq++)
    {
        double b = amount + (monthlyPayment / a) * (1 - (Math.Pow((1 + a), -n)));
        double c = amount + (monthlyPayment / a) * ((n * (Math.Pow((1 + …
Run Code Online (Sandbox Code Playgroud)

legacy-code financial

2
推荐指数
1
解决办法
4929
查看次数

结合使用django和旧版身份验证Cookie

我在自制python框架中有一个大型代码库。我将逐步将代码移至Django,但与此同时,需要支持通过旧系统登录。旧系统在用户登录后使用cookie来识别用户。

我不希望用户通过Django登录,但我确实希望能够使用@login_required以及依赖Django身份验证系统的多个应用程序,例如admin,django-tagging和django-comments。

集成两个身份验证系统的最佳方法是什么?这两个代码库都在同一个python进程中运行(通过可根据每个请求切换应用程序的wsgi中间件),并且可以根据需要相互加载模块。

django legacy-code django-authentication

2
推荐指数
1
解决办法
353
查看次数

我可以使用*.tlb文件而不使用Regasm在计算机上注册它

我们支持老化的VB6系统,我们已经在.Net中编写了新代码,将代码放入程序集中,然后导出*.tlb文件以供VB6代码库使用.

我的问题是,在我希望运行代码的每台计算机上,我是否必须使用Regasm来注册类型库?

我问,因为计算机坏了,新计算机被添加等等,很难跟踪类型库的安装.另外,如果我们更新.Net代码,我们需要绕过每台计算机并重新注册类型库.

总而言之,是否可以从VB6运行.Net代码而无需在运行代码的每台计算机上注册类型库?

谢谢

.net dll legacy-code

2
推荐指数
1
解决办法
5662
查看次数

我是否需要Xcode 7和Swift 2.0来更新我的应用程序

我在运行iOS9的设备上的Swift 1(Xcode 6,iOS 7.1)应用程序中存在UI问题.我试图将我的应用程序转换为Xcode 7和Swift 2.0,但我在这里遇到了很多问题.

为了给我的客户一个快速修复,直到我弄清楚什么是错的,我想知道我是否可以下载并安装Xcode 6(我上次构建和上传应用程序的版本)纠正UI问题(我知道该怎么做)和再次上传应用.

简而言之:Apple会拒绝使用旧的Xcode/Swift版本更新应用程序吗?

xcode legacy-code swift

2
推荐指数
1
解决办法
194
查看次数

如何从gnarly C++代码中安全地提取函数?

假设我有一个5000行,深度嵌套的函数,我想将一个1000行的块提取到一个新函数中.

在Java和C#中,无论代码有多长和多长,我都可以让ReSharper,IntelliJ和Visual C#处理安全提取方法所需的分析.我可以确信他们不会改变代码的行为,即使这对我的小脑子来说太复杂了.

可用的C++工具无法给予我相同的信心.CLion,ReSharper和Visual Assist都会在提取方法时引入行为更改.

我有什么选择?

c++ refactoring legacy-code

2
推荐指数
1
解决办法
737
查看次数

使用装饰器和直接应​​用函数有什么区别吗?

我最近成为 PyPDF2 的维护者,这是一个相当古老的库,但仍然有一些处理2.4 之前的Python 版本的代码。虽然我想尽快放弃对 3.5 及更早版本的支持,但我看到一些部分我不确定为什么要这样编写。

一个例子是这样的:

代码中的内容:

class Foo(object):
    def a(b, c):
        print(b)
        print(c)

    a = staticmethod(a)
Run Code Online (Sandbox Code Playgroud)

我所期望的是:

class Bar(object):
    @staticmethod
    def a(b, c):
        print(b)
        print(c)
Run Code Online (Sandbox Code Playgroud)

有什么理由使用第一个符号吗?它们严格等价吗?

我已经看到Python 2.4 中引入了装饰器,因此这可能是此类极端遗留代码的一个示例。

python legacy-code python-2.x

2
推荐指数
1
解决办法
71
查看次数

在D2006/D2009中支持Delphi 7应用程序

当Turbos问世时,我开始使用Delphi进行职业编程,并拥有Delphi 2006 Turbo Pro和Delphi 2009 Professional的许可.我被要求支持另一个内部工具,由其他职业程序员编写,后来已经退休.这是一个Windows程序,但它是使用Delphi 6使用CLX库而不是VCL开发的.

从我收集的内容来看,CLX库是基于QT的,并且在Delphi 2006之前被删除.支持只包含一些错误修复和一些小调整,所以我宁愿不将代码移植到VCL,如果我可以避免它.

可以在Delphi 2006或2009中安装CLX支持吗?

delphi legacy-code

1
推荐指数
1
解决办法
268
查看次数

C#和C++可以互操作以获得高性能代码吗?

我们有传统的C++代码执行高性能数据处理(例如,从硬件设备馈送的大量数据,以时间敏感的方式处理,用于显示,转换和传输到二级存储).

我们感兴趣的是C#/ .NET用于新的GUI和新的实用程序(现有的GUI是C++ MFC和Qt).当然,对于现有系统,我们对.NET虚拟机没有"语言翻译"问题(现有代码都是C++).

经过大量的研究和许多书籍,我不确定这是否可以有效地完成.可能的方法(我错过了吗?):

  1. 重写.NET中的所有内容(不可能发生 - 代码太多,裸机设备访问,时间敏感的重算法处理)
  2. 适用于托管C++/CLI的精简适配器层
  3. 适用于托管C++/CLI的胖适配器层
  4. 不要使用.NET(经理感到非常悲伤)

我们对(2)"瘦适配器层"的关注是,如果GUI可以(重新)使用"业务"层中的逻辑(许多属性是算法派生的),那将是很好的,所以如果我们不公开/包装C++类,很多GUI逻辑只会复制业务层中的现有C++逻辑.

我们对(3)"厚适配器层"的担忧是用C#类包装每个C++类似乎非常繁琐(昂贵),并且有几本书表明跨越该边界的装箱/取消装箱访问似乎表明这种方法是不可行的/禁止(它的性能超出了琐碎的设计).

如何在C++中实现的深层次类结构之上界面新的C#/ .NET(GUI)?

performance c++-cli legacy-code

1
推荐指数
1
解决办法
2265
查看次数

从书中复制的旧代码中的语法错误

这是一本80年代的书,作者是法文,C。Jablon和JC Simon。这本书有俄文翻译。标题 ”?????????? ??? ??? ?????????? ????????????? ? ??????” 意思是“将ECM应用于物理中的数值建模”,其中ECM代表电子计算机(不确定如何将其翻译成英语,但是用俄语用该名称来称呼计算机)。我曾尝试用俄语,英语或法语以数字形式用Google搜索这本书,但没有找到任何东西。如果仍然有帮助,请使用俄语提供以下照片:

https://drive.google.com/open?id=0B2MCX8tD_-VNLTh3dWx0ejJIZW8

这是与书中所印刷代码完全相同的代码

    parameter nn = 100
    dimension a(nn), b(nn), c(nn), d(nn), x(nn), u(nn)
    dimension xex(nn), test(nn)
    common /thomas/ bet(nn), gam(nn)
    common /perm/ ip(10)

    call iniper(10, -1)
    call inhuni(-1)
    read 222, iter, ifin
    print 1000, iter, ifin
    fifin = 1./float(ifin)
    fiter = 1./float(iter)
    pi = 3.14159265
    pi2 = pi * pi
    xa = 1.
    xc = 1.
    read 111, rb
1   continue
    read 222, n
    print 5000, n
    if(n .gt. nn) …
Run Code Online (Sandbox Code Playgroud)

fortran legacy-code

1
推荐指数
1
解决办法
902
查看次数