我试图通过Vim读取很多C/Perl代码,其中包含许多单字母变量名.
在我阅读代码的过程中,有一些命令可以帮助我将变量的名称更改为更有意义的内容,这样我就可以更快地阅读其余内容.
在Vim中是否有一些命令可以让我快速执行此操作?
我不认为正则表达式会起作用,因为:
相同的单个字母名称在不同的作用域块中可能具有不同的用途
相同的字母组合可以是另一个较大的var名称的一部分,或者在字符串或注释中......不想修改它们
任何已知的方案?
我在Visual Studio 2015中找到右键单击上下文菜单时遇到问题.我知道我的项目或我正在工作的文件没有任何问题.我可以在Visual Studio 2013中找到右键单击上下文重构菜单.但是,在Visual Studio 2015中,右键单击上下文菜单中没有重构上下文菜单.
它去了哪里?我怎样才能找回来?
您的建议不能包含菜单编辑 → 重构.
我尝试使用菜单工具 → 导入和导出设置将我的Visual Studio设置重置为默认设置,但也没有将菜单恢复.
我试图在Visual Studio 2008中使用Ctrl+ R,Ctrl+ R命令来重命名变量.我在底部收到一条错误消息说
"组合键(Ctrl+ R,Ctrl+ R)绑定到当前不可用的命令(&Rename ...)."
我没有运行它或我能想到的任何可能禁止修改文件的东西,F2命令允许重命名发生.有人知道怎么修这个东西吗?
编辑:我确实安装了Resharper但以前能够使用相同的设置执行此操作,我最近迁移了计算机.
当然,你可以在IDE上进行重构的事实对于许多人来说是无价的,我在编码时几乎没有这样做但我可能会在编辑其他人的源代码时尝试这样做.你如何在Vim中的多个文件中完成这样一个微不足道的任务?
我有一个方法,需要30个参数.我把参数放到一个类中,这样我就可以将一个参数(类)传递给方法.在重构传递一个封装所有参数的对象的情况下是否完全正常,即使它包含所有参数.
有没有更好的方法来做到这一点......
MyString.Trim().Replace("&", "and").Replace(",", "").Replace(" ", " ")
.Replace(" ", "-").Replace("'", "").Replace("/", "").ToLower();
Run Code Online (Sandbox Code Playgroud)
我已经扩展了字符串类以使其保持一个工作但是有更快的方法吗?
public static class StringExtension
{
public static string clean(this string s)
{
return s.Replace("&", "and").Replace(",", "").Replace(" ", " ")
.Replace(" ", "-").Replace("'", "").Replace(".", "")
.Replace("eacute;", "é").ToLower();
}
}
Run Code Online (Sandbox Code Playgroud)
只是为了好玩(以及停止评论中的论点),我已经推动了以下各种示例的基准测试.
正则表达式选项得分非常高; 字典选项最快; stringbuilder replace的long winded版本比short hand稍快.
是否可以重命名/重构类文件并让它重命名磁盘上的实际文件?如果是这样,我该怎么做?
我知道重构是"改变程序的结构,以便不改变功能".我正在与我在大学的最后一年项目中与我合作的一些人谈话,我很惊讶他们有更广泛的(因为想要更好的词)重构的观点.
我认为重构就像提取方法和重命名类一样.他们还建议之类的东西改变的数据结构(如Java的LinkedList一个ArrayList),改变算法(使用合并排序而不是冒泡排序的),甚至重写大量代码的重构.
我很确定他们错了,但我无法给出一个很好的理由,因为他们的建议确实改变了程序(并且可能使其更好)而不改变其行为.我是对的,更重要的是,为什么?
我有一个大型Eclipse项目,其中存在几个类,虽然它们不再在任何地方使用,但从未标记为@Deprecated.
我怎样才能轻松找到所有这些?
refactoring ×10
c# ×3
vim ×2
eclipse ×1
immutability ×1
iphone ×1
java ×1
objective-c ×1
oop ×1
php ×1
renaming ×1
resharper ×1
string ×1
variables ×1
xcode ×1