34得票7回答
PHP中的死代码检测

我的一个项目代码非常混乱 - 有很多重复的代码和死代码 一段时间以前,该项目没有进行单元测试,但现在我们正在尝试以T.D.D.方式编写所有新代码,并通过单元测试来降低技术债务,同时使用“测试后”技术覆盖“旧”代码。 业务逻辑的复杂性相当高,有时候甚至没有人能够回答某些方法是否被使用。 如...

34得票3回答
如何通过反射改变方法的行为?

我在一些旧代码中有一个静态方法,被多个客户端调用。显然我无法覆盖它,也不能通过依赖注入更改其行为。我不允许修改现有的类。 我现在想做的是使用反射更改该方法的行为(具有相同签名和返回类型)。 这种做法可行吗?如果不行,是否有任何设计模式可以帮助我? 谢谢! 编辑:对于我能够更改/修改的内...

33得票7回答
C函数的隐式整型返回值

我已经谷歌搜索过,但似乎找不到这个简单问题的答案。 我正在处理一个传统的代码库(最近移植到Linux,并逐步更新到新编译器),我看到了很多int myfunction(...) { // no return... } 我知道函数的隐式返回类型是int,但当没有指定返回值时,隐式返回值是什么?...

30得票4回答
在C++中将cout和stdout重定向到一个字符串以进行单元测试

我正在努力为一些遗留代码编写单元测试,有时唯一能感知现有程序行为的方法是从控制台输出中获取信息。 我在网上看到很多关于如何将stdout重定向到C++中的另一个文件的示例,但是否有一种方式可以将其重定向到内存流中,以便我的测试不必依赖磁盘? 我想将遗留代码发送到stdout的任何内容都获取...

28得票4回答
如何确定特定的JavaScript代码是否实际使用?

我正在对一个遗留项目进行一些JavaScript清理工作,并尝试摆脱冗余的JS库。我已经处理了所有明显的库(那些在任何地方都没有引用的库)。但是有一些JS文件被包含在所有页面中(通过tiles)。 除了逐个查找每个功能并搜索它们的内容,有什么更聪明/更容易的方法来确定它们是否实际使用?顺便说...

27得票3回答
从传统数据结构迁移到新的数据结构

好的,这是我们正在面临的问题。 目前: 我们有大量直接访问数据库的遗留应用程序 数据库中的数据结构未经规范化 几乎所有应用程序都使用当前的流程/结构 我们试图实现的: 将所有功能移动到RESTful服务中,以便没有应用程序直接访问数据库 实现规范化的数据结构 我们遇到的问题是...

26得票2回答
如何在已经存在的Rails引擎中生成一个虚拟应用程序

我最近加入了一家公司,他们已经在开发一个特定的rails项目一段时间了。在开发过程中加入了这个项目,我开始为现有代码以及当前正在生成的代码编写测试。 测试rails 4应用程序很容易,但是当我开始测试引擎时,我遇到了精神障碍。在尽职调查后,我发现大多数人采取如下方法(http://viget...

25得票13回答
遗留代码噩梦

我继承了一个项目,其中类图与一盘意大利面上的蜘蛛网非常相似。在过去两个月里,我编写了约300个单元测试来为主要可执行文件提供安全保障。 我随时可以接触到我的敏捷开发书库,其中包括: - 《Working Effectively with Legacy Code》 - 《Refactorin...

25得票9回答
Windows 7会支持VB6运行时吗?

我似乎无法找到一个直接的答案。看起来 Visual Studio 6 不会得到支持,但我只关心运行时。我们有一些遗留应用程序,不想重写,但我们的客户希望它们在 Windows 7 上运行。 如果有人能提供微软官方发布的相关链接,那将非常有帮助。

24得票14回答
糟糕系统设计的代码重构

我是一名初级软件工程师,被分配了一个接手旧系统的任务。根据我的初步评估,这个系统存在以下几个问题: 代码混乱 重复的代码 类超过10k行 使用log4j不当且过度记录日志 数据库表设计不良 缺失源代码控制 -> 我已为此设置了Subversion 缺失文档 -> 除了阅读代码,我不知道业务...