问题标签 [legacy]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
428 浏览

asp.net - 对一些遗留 ASP.NET 1.1 代码进行单元测试的最佳框架

我有旧版 asp.net 1.1 网站。它的 VB 分层结构非常差。调试运行信用卡处理测试大约需要 10 分钟。

我想在解决方案中添加一些单元测试功能来检查我的更改。

我正在考虑将mbunit与galeo一起使用。mbunit 和 galleo 可以与我的 .net 1.1 代码一起使用吗?对于与 .net 1.1 代码兼容的单元测试框架还有其他建议吗?

更新

我不是要测试代码的实际 asp.net 部分,只是我在服务/数据层中添加的新接口/业务逻辑。

0 投票
10 回答
463 浏览

java - 学习遗留的 Java 系统

我的任务是维护和重构遗留 Java 系统。我目前使用 C# 和 .NET,虽然我熟悉 Java。

遗留系统使用 RMI,一种客户端/服务器架构,专为 1.4 JVM 设计。它用于 UI(据我所知)、Swing 和 AWT。

我的问题是:与我刚刚收到的代码库达成协议的最佳方式是什么?我正在考虑屏幕流程图、定义 RMI 调用之间的边界以及编写单元测试(针对可测试的位)。

当你收到一个不熟悉的代码库时,你会怎么做?

谢谢!

-贾罗德

0 投票
3 回答
7671 浏览

java - Java中具有精确布局的点阵快速打印

我想知道在 Java 中为 EPSON Dot Matrix 打印机构建报告的实用方法。目前,我正在使用 LX300+II 型号。

我知道使用这台打印机基本上有两种方法:

  1. 作为打字机,直接将原始 ASCII 数据输出到并口
  2. 图形打印,带有图形字体和精确定位。

如何同时使用快速打印字体(由1提供)和精确定位(由2提供)?

我知道这是可能的,因为几年前,我必须为 EPSON FX 2180 制作报告,其中包括在 Windows 中安装的带有本机打印字体的驱动程序。这允许在这里做我想要的。

现在我正在使用 JasperReports 进行图形报告并且工作正常,但我确实有一些报告需要用点阵打印机快速打印。有什么可以替代的呢?

0 投票
2 回答
340 浏览

vb.net - 如何将此代码转换为 LINQ?

我正在尝试将其写为 LINQ,

原始代码:

我是一个 LINQ 初学者,到目前为止我不太确定在哪里使用和在哪里不使用。如果在这种情况下 LINQ 会造成更大的伤害然后提供帮助,请随意给我发火。

编辑:您可以假设 AddLink() 有一个重载,它需要 IEnumerable

0 投票
6 回答
375 浏览

php - 重构的成本是否超过了重写的成本?

在我目前的工作地点,我们有一些非常令人震惊的代码被吹捧为下一代框架。

问题是,只有一个人持这种观点,而且是写了大部分观点的那个人。该部门的其他人认为它的编码很糟糕,需要调试的皮塔饼,一般来说有点糟糕。

写这篇文章的人在管理层有一个非常有影响力的职位,所以他们在阵营的那一边。

我们已经向管理层强调了(真正的)担忧,但显然他们不愿意将更多时间投入到一个不直接有助于底线的项目上。

该框架上部署了多个应用程序,因此任何重构都需要包含这些应用程序。

整个事情是如此交织在一起,以至于我们不能只是撕掉一个特定类的实现并以这种方式重写它,所以即使对核心 api 进行简单的更改也意味着一个大型项目。

然而,它确实有 3 年的实时部署和许多错误修复、极端情况和边界条件。

考虑到这将是几个大型项目,我们是部分重写并尝试重构它,随着时间的推移进行重构,这可能需要另外 3 年的时间才能形成,还是我们只是在现有的基础上重写我们的特定需求框架?

0 投票
7 回答
138 浏览

unit-testing - 在调试或添加新功能时,管理旧单元测试的最佳实践是什么?

我试图了解管理由于代码中的错误或逻辑更改等原因而不再匹配或不再有效的旧单元测试的最佳方法是什么?我们是否只是跳过它们并修改它们以适应当前逻辑?

例如,如果这些测试不是由您编写的,而现在您负责修改代码。在继续之前,您是否仍然花时间更新这些测试以使其通过?

或者只是跳过它们?谢谢。

0 投票
2 回答
159 浏览

synchronization - 经典企业应用程序中的“同步”关键字是否可疑?

我说的是经典的企业应用程序。通常托管在某种应用程序服务器或容器中。没什么花哨的,只是实体、服务、演示/UI 和关系存储。

每当我synchronized在这样的应用程序中看到关键字(在方法或块上)时,我都会非常怀疑。在我看来,这要么是不了解基本架构概念的标志(例如,域模型未在多个客户端之间共享),要么是更糟糕的标志,表明架构实际上非常拙劣。

你在这里分享我的想法吗?还是我完全偏离了轨道?您是否有在经典企业应用程序中实际需要同步的用例?

0 投票
1 回答
318 浏览

ms-office - MS Office 97 ODE 设置向导挂起并显示消息“找不到路径”

我有一个客户使用 Access 97 运行时来支持他们的部分产品。理想情况下,考虑到这样做的预算,我会在此时替换那只恐龙,但今天这不是一个选择。我不是系统的原始作者,但我正在尝试提供持续的支持。

为了将它分发给他们的客户,他们购买了 Office 97 开发人员版工具,并且每隔几年他们就会通过它的安装向导打包一个新的分发版。

这一次,设置向导似乎达到了它想要对 做某事的地步,AXDIST.EXE而是弹出一个对话框,只显示“找不到路径”。我在网络上找到的唯一参考资料是对一个不再存在的域中的页面的诱人一瞥,谷歌已经清除了缓存,只保留了搜索结果中出现的句子。提示不足以帮助我...

编辑:除了由 AXDIST.EXE 本身引起的许多报告问题,或者尝试以某种方式使用 AXDIST.EXE 的安装之外,也就是说。我们的问题是使用 ODE 安装向导创建安装包期间的问题. 它自己的文档只在一处引用了 AXDIST,根本不包含文本“找不到路径”。)

编辑 2:进一步调查显示 AXDIST.EXE 本身不是罪魁祸首。从安装向导的列表中删除该文件导致向导在列表中的下一个文件上停止。描述之间似乎没有任何显着差异它停止的文件,以及上面列出的十几个成功处理的文件。我猜测此时的解决方案将是从头开始手动重新创建模板,如果它并没有被困在可怕的 UI 中,而是以 Access 数据库的形式存储,其中包含一堆未记录的表。)

我的问题是:这次我们在设置向导中犯了什么错误,我们该如何解决?

0 投票
13 回答
801 浏览

database - 古老、未知的存储系统需要帮助

大家早,

我已经告诉客户我可以将他们的一些旧数据从基于 DOS 的系统迁移到我为他们开发的新系统中。但是我说,没有真正查看在旧系统中存储数据的文件 - 我只是认为快速谷歌会为我解决所有问题......我错了!

无论如何,这个程序有一个文件夹,里面有数百个......以及 800 个文件,有各种文件扩展名,.ave、.bak、.brw、.dat、.001、.002....、.007、.dbf、 .dbe 和 .his。

.Bak 显然不是 SQL 备份文件。

有没有人有任何使用这些文件类型的编程经验,他们可能会指出我以某种方式读取和提取数据的方向?

我不能提及程序名称,因为我认为原始开发人员不会允许这样做......

谢谢。

0 投票
6 回答
259 浏览

legacy - 您如何继续使用旧代码和新代码开发大型(长期)软件系统?

我在拥有大量用户安装基础的大型代码库上工作。该代码最初是用 vb6 编写的,带有一些用于低级工作的 c++ COM 模块。

重写所有已经用 vb6 编写并且我们的客户每天都在使用的代码是完全不可行的,但我们也在继续对软件(大小)进行改进和定制。

到目前为止,我的解决方案是用 c#(现在的 winforms 甚至 wpf)编写大部分新代码,然后使用 COM 互操作从 vb6 调用模块。

有没有人有像这样的长期软件套件(10 年以上)的经验,不能停止完全重写,但同时需要不断的新开发。此外,在这样的混合系统中,连接模块的最佳方式是什么?我现在正在使用 COM,但也考虑过具有单独进程的 IPC。