【发布时间】:2011-07-02 05:32:15
【问题描述】:
我有一个大型代码库,大多数变量名称都使用 Systems Hungarian,这基本上意味着我有很多 objQueue's、objCommon's、dtDataSet's 等等。
有什么方法可以转换其中的大部分吗?特别是,我想摆脱令人讨厌的obj 那些完全没有意义的东西,让变量名看起来相似并且代码完全不可读。
有a similar question,但它询问是否值得更换。
像“保持原样”这样的答案对我没有任何用处,因为我确信我需要这样做这样做。
代码库真的很大,我不想一一重命名变量。我也不想运行查找和替换,因为我会得到错误的命中并进一步弄乱代码。
是否有任何自动化工具可以在 Visual Studio 中进行此类替换? Resharper 的一些插件,不管怎样?
【问题讨论】:
-
遗憾的是,您最好的选择是可能为 ReSharper 编写一个插件,并使用它丰富的 API 以编程方式遍历整个解决方案中的所有声明,并应用一种可以自动根据名称和可能的上下文信息(如声明的类型)执行重命名。不幸的是,这绝对不是微不足道的,也不是为了装腔作势。
-
你用什么论据来摆脱你公司的匈牙利符号?我想知道,因为我想在我的地方使用它。我已经厌倦了把 xyzzy 放在每一个该死的变量前面!
-
哦,希望我的公司足够现代 :-)。我们是外包公司,但在我们之前,我们的客户曾与另一家公司合作,这在代码中留下了一些东方风味,如果你明白我的意思的话。
-
即使您使用正则表达式搜索所有出现的以 obj 开头后跟一个大写字母的单词,您会得到错误的命中吗?
-
@glowcoder IMO,您不需要比 .NET 架构师编写的开创性框架设计指南第 55 页中的“请勿引用”更好的论据。引用是“不要使用匈牙利符号”。 :)
标签: visual-studio resharper hungarian-notation code-cleanup