c# - 我应该保留这个静态变量,还是重构它?

标签 c# refactoring

之前的开发者在我继承的一个项目的“god”类中放置了一个名为“Qry”的静态字符串。

开发人员然后在整个程序中构建和使用单个数据库查询字符串的每个地方都使用了这个静态变量。

例如:

SomeGodClass.Qry = "select count(1) from AddressBook where Name = '" + txtName.Text.Trim(' ') +
                            "' and Group_Name = '" + txtGroupName.Text.Trim(' ') + "'";

int count = sqlHelper.ExecuteScalar(SomeGodClass.Qry);

因此,这个变量被精确引用了 626 次,大多数都分配了不同的查询。他还使用了其他类似的静态变量 - 可能有 50 个 - 但这是最​​主要的。

我的第一直觉是删除这个静态字符串并重新处理所有 626 种用法。但是,我不知道这种做法是否足够糟糕,需要花时间去做。

因此,我的问题是:这是对静态字符串的可接受使用吗,尤其是考虑到重构所需的工作量时?

最佳答案

至少从我看到的代码来看,在这里使用static 没有发现任何问题。但不要使用 TextBox 连接!

使用 Parameters 代替。

这是我在查看提供的代码时能想到的最重要的重构。

Why do we always prefer using parameters in SQL statements?

关于c# - 我应该保留这个静态变量,还是重构它?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36413315/

相关文章:

javascript - 寻找有关如何清理某些条件语句的建议

c#文本框十进制格式

c# - C# 存储过程调用、参数嗅探/优化问题的巨大减速?

PHP Depend 代码指标分析

c - git diff 查找 c 中的重构名称更改

java - 在Intellij IDEA中提取多个字符串到常量

c# - 具有不同键和选定值的字典对象列表

c# - Azure 应用服务 Linux Web 应用 : It was not possible to find any installed . NET Core SDK

c# - DEVCON.EXE(驱动工具)和OpenVPN

Python代码重构问题。将函数应用于多个元素