问题标签 [code-cleanup]

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 回答
343 浏览

asp.net - VB.net - RsData / 清理代码

我有一个关于 VB.net 和使用 rsData 连接到 SQL 数据库的问题。

基本上,我们有几个内联页面将显示我所在机构开设的课程的课程信息。该代码将连接到 SQL DB 并直接以下列格式提取实时数据。

现在我想知道人们是否会建议直接从开放的数据库连接中提取或将 RsData 结果映射到字符串?所有数据连接在完成所需部分后打开和关闭,我们在页面内发生了大约 5 个不同的过程。

我担心代码不够干净,我真的很想收拾这个继承而来的噩梦。人们还可以摆脱内联代码和多个数据连接的任何最佳实践吗?

谢谢!

0 投票
1 回答
3135 浏览

ant - 使用 ANT 在单个构建文件中构建多个项目并清理多个项目

我有疑问,我制作这个构建文件是为了构建 3 个不同的项目

现在正在工作。但我也想在构建之前清理项目。

事实上我想完成这个: C:/work/project1 ant clean build C:/work/project2 ant clean build C:/work/project3 ant clean build

提前致谢。

更新:感谢 Alex 的快速响应,我使用以下内容创建了一个新的 build.xml 文件。我相信它运作良好,你怎么看?

谢谢。

0 投票
2 回答
5408 浏览

java - 从绝对路径中提取相对路径

这是一个看似简单的问题,但我无法以干净的方式完成它。我有一个文件路径如下:

/this/is/an/absolute/path/to/the/location/of/my/file

我需要的是从上面给定的路径中提取 /of/my/file ,因为那是我的相对路径。

我想这样做的方式如下:

这可能会满足我的直接需求,但是有人可以建议一种更好的方法来从 java 中提供的路径中提取子路径吗?

谢谢

0 投票
1 回答
221 浏览

c++ - Visual Studio 2008:代码清理不可选

我对 Visual Studio 很陌生,但我想用它来重新排序我的文件中的方法。我已经安装了 ReSharper 并将代码清理设置为只做一件事(重新排序方法)。现在我的问题是,当我在 Resharper -> Tools -> Cleanup Code 下选择代码清理时,我无法选择它。清理代码是灰色的。为了能够清理它,我必须对文件做些什么吗?我只是从我的计算机打开一个 c++ 文件并尝试选择清理代码。我尝试创建一个项目并将文件放入其中,但仍然没有运气。

有什么帮助吗?

谢谢

0 投票
1 回答
191 浏览

c# - 我的又大又丑的功能——如何改进

我正在努力改进我的编码风格,我知道我的编码风格很糟糕。你能建议改善我的功能的方法吗?

0 投票
1 回答
2812 浏览

c++ - C++:坐标数组?

我的代码有问题。实际上它有效,但我想清洁它以使其更合适。

所以我有一个包含浮点 x 和浮点 y 的类 Coord。

构造函数是:

我以这种方式创建了我需要的所有点:

在我必须制作一些点的数组之后,例如第五个五个点将被分配到一个数组中,另外 4 个点在另一个数组中,另外 2 个点在另一个数组中......

这个数组,我必须作为类的构造函数的参数,例如:

我将以同样的方式创建一些 Sef,然后将它们组成一个数组

一个类 Universe 将包含一些 sef :

你可以想象当我有很多点,很多sef,很多脏代码的时候......

我该如何改进呢?让我的代码更好......

0 投票
2 回答
122 浏览

java - 如何逐步从大型系统中的遗留问题中恢复?

我们的团队已经获得了一个遗留系统,用于进一步的维护和开发。因为这是真正的“遗留”东西,所以测试的数量真的非常少,而且大部分都是废话。这是一个带有 Web 界面的应用程序,因此既有容器管理的组件,也有普通的 Java 类(不绑定到任何框架等),无论何时何地,它们都是“新版”的。

当我们使用这个系统时,每次我们接触给定的部分时,我们都会尝试将所有这些东西分解成更小的部分,发现和重构依赖关系,推送依赖而不是在代码中拉取它们。

我的问题是如何使用这样的系统,打破依赖,使代码更易测试等?何时停止以及如何处理?

让我给你看一个例子:

这个构造函数肯定做的太多了。另外为了测试它以进一步重构它需要使用 PowerMock 等做魔术。我要做的是将其更改为:

或仅使用依赖项的设置器提供构造函数设置区域。

我看到的问题是,如果我在构造函数中提供依赖项,我仍然需要在某个地方提供它们。所以它只是将问题向上移动一个级别。我知道我可以创建工厂来连接所有依赖项,但是触摸应用程序的不同部分会导致每个工厂都有不同的工厂。我显然不能一次重构所有应用程序并在那里引入例如 Spring。

暴露设置器(可能提供了默认实现)是相似的,而且它就像只为测试添加代码。

所以我的问题是你如何处理这个问题?如何使对象之间的依赖关系更好、更易读、更可测试,而无需一次性完成?

0 投票
1 回答
7387 浏览

c# - 由于以下错误,接收检索具有 CLSID {} 的组件的 COM 类工厂失败:80040154。运行测试类清理时

我的测试解决方案有问题。测试运行良好,但是当涉及到在测试运行后进行清理的类和方法时,基本上是删除共享点组、站点和数据库索引条目,因为我正在为 SQL 数据库上的站点和组编制索引。如果我从主程序运行清洁方法,一切都会好起来的。当我从 ClassCleanup 调用方法时,问题就开始了:

这些方法一直执行到委托:

此时我得到一个例外:

当单独调用该方法时,该方法可以完美运行,唯一的问题是清理方法何时进行调用。

谢谢你。

ps 该项目在带有 SP 2010 的 win 2008 上 cpu 设置为 ANY 的框架 3.5 上运行。

我按照从http://msdn.microsoft.com/en-us/library/ee782531.aspx将 cpu 执行模式更改为 x64 的说明进行操作,但仍然无法运行任何东西。

Error loading C:\Users\Administrator\Documents\WSTests\WSTests\bin\Debug\WSTests.dll: Unable to load the test container 'C:\Users\Administrator\Documents\WSTests\WSTests\bin\Debug\WSTests.dll' or one of its dependencies. If you build your test project assembly as a 64 bit assembly, it cannot be loaded. When you build your test project assembly, select "Any CPU" for the platform. To run your tests in 64 bit mode on a 64 bit processor, you must change your test settings in the Hosts tab to run your tests in a 32 bit process. Error details: Could not load file or assembly 'file:///C:\Users\Administrator\Documents\WSTests\WSTests\bin\Debug\WSTests.dll' or one of its dependencies. An attempt was made to load a program with an incorrect format.

0 投票
4 回答
9624 浏览

javascript - Javascript - 替换大量 if 语句

我有几个不同的单选按钮,它们返回种族和性别。该脚本在内部应用程序中运行,因此我不会返回“男孩”、“女孩”或“两者”,而是返回 7707330、7707333 和 7707336。与种族单选按钮类似。

然后,我需要根据种族和性别的组合来验证数据。这是一个非常简单的任务,但我最终得到了 15 个 if 语句!一切正常,但必须有更清洁的解决方案?

我该如何清理这个?

0 投票
2 回答
1197 浏览

c# - 使用 ConfigurationPropertyAttribute 避免重复属性名称 3 次

在代码中重复ConfigurationPropertyAttribute三个名称真的很困扰我。
很容易错过拼写错误或复制/粘贴属性而忘记更新名称的一个实例。

声明一个常数只能解决其中一个问题。有没有更好的办法?

我尝试了反射,但枚举属性似乎更麻烦,更丑陋。

我知道 DRY 只是一个原则,在现实世界中,原则必须让位于实用主义。但我敢肯定有人有更清洁的方式?