问题标签 [refactoring]

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 投票
14 回答
72244 浏览

c# - 方法可以设为静态,但应该这样吗?

ReSharper 喜欢指出每个 ASP.NET 页面的多个功能,这些功能可以设为静态。如果我将它们设为静态,它对我有帮助吗?我应该将它们设为静态并将它们移动到实用程序类吗?

0 投票
9 回答
56526 浏览

visual-studio - Visual Studio:是否有“将类移动到不同的命名空间”重构?

我正在做一些架构清理,包括将一堆类移动到不同的项目和/或命名空间中。目前我正在手动移动文件,构建,然后根据需要手动添加使用 Foo语句来解决编译错误。有人知道这样做的更聪明的方法吗?(我们是 CodeRush 和 Refactor!商店,但我很想知道 Resharper 是否对此提供支持)

0 投票
11 回答
20067 浏览

c - 在 C 中构建时断言表达式的方法

我正在整理一些旧代码,这些代码到处使用“幻数”来设置硬件寄存器,我想使用常量而不是这些数字来使代码更具表现力(实际上它们会映射到名称/values 用于记录寄存器)。

然而,我担心随着变化的数量,我可能会打破神奇的数字。这是一个简化的示例(寄存器集更复杂):

所以而不是:

我们有:

我正在寻找的是构建时版本:

更新

@Christian,感谢您的快速响应,我也对 C / 非增强环境的答案感兴趣,因为这是驱动程序/内核代码。

0 投票
3 回答
456 浏览

java - 在 java 代码中查找包命名空间冲突的工具

我们有许多项目使用相同和/或相似的包名称。许多或这些项目将构建其他项目使用的 jar 文件。我们发现许多 foo.util foo.db 和 foo.exceptions 使用相同的类名导致命名空间冲突。

有谁知道一个工具可以搜索一组 java 代码库并自动查找名称空间冲突和模棱两可的导入?

0 投票
3 回答
253 浏览

model-view-controller - 重构应用程序

如果你必须修复和稳定一个 MVC 应用程序,你会从哪里开始:模型、控制器还是视图?这些问题在整个应用程序中平均分布,糟糕的编程实践使得添加功能变得困难。该应用程序是用 PHP 编写的,如果它有所作为的话。

0 投票
5 回答
4497 浏览

python - Python,单元测试和模拟导入

我在一个项目中,我们开始重构一些庞大的代码库。立即出现的一个问题是每个文件都会导入许多其他文件。我如何以优雅的方式在我的单元测试中模拟它,而无需更改实际代码,以便我可以开始编写单元测试?

例如:包含我要测试的功能的文件导入了其他十个文件,这些文件是我们软件的一部分,而不是 python 核心库。

我希望能够尽可能单独地运行单元测试,现在我只测试不依赖于正在导入的文件中的东西的函数。

感谢所有的答案。

从一开始我真的不知道我想做什么,但现在我想我知道了。

问题是,由于某些第三方自动魔术,某些导入仅在整个应用程序运行时才有可能。所以我不得不在我用 sys.path 指出的目录中为这些模块创建一些存根

现在我可以在我的单元测试文件中导入包含我想要为其编写测试的函数的文件,而不会抱怨缺少模块。

0 投票
14 回答
858 浏览

unit-testing - 当您要向一个几乎没有 *NO* 单元测试代码的大型(且肮脏的)代码库添加一些新功能时,您会怎么做?

Martin Fowler说我们应该在添加新功能之前进行重构(鉴于原始程序结构不完善)。

所以我们都想重构这个肮脏的代码库,这是肯定的。我们还知道,如果没有单元测试代码,很容易引入细微的错误。

但这是一个庞大的代码库。为其添加一整套测试似乎是不切实际的。

在这种情况下你会怎么做?

0 投票
1 回答
1284 浏览

xml - 重构 XSD 架构

我正在一个项目中工作,该项目需要清理一些第三方 XSD 架构,并且我想对其中的常见元素进行一些重构。

有没有合适的工具来自动化这个?我通过 XMLBeans 的 sfactor 进行了尝试,但它不起作用(它引发了一个奇怪的异常,甚至 Google 都无法回答!)。

0 投票
3 回答
2309 浏览

design-patterns - 从 ActiveRecord 重构为 DataMapper

您是否已从ActiveRecord重构为DataMapper模式?什么条件促使切换?我主要对基于 Web 的应用程序感兴趣,但想知道在任何环境中伴随这种移动的挑战。

0 投票
4 回答
475 浏览

vb.net - 如何重构需要大量参数的函数?

我为只排除字符串作为输入的 COM 对象编写了一个包装器,因此在良好的 OOP 实践中,我将字符串包装在一个函数中,以便更容易构建和调用。

我只是想知道是否有人能想到更好的方法来执行以下代码。

函数必须采用的参数数量是我最大的担心。这个还不错,但是我将来可能需要制作一些其他函数,这些函数需要更多的参数,所以我主要是在寻找更好的方法来构建大参数函数。