我正在使用一个继承的代码库,其中包含数千行注释掉的代码。我知道以前的编码员打算将他所有的辛勤工作留给后代,而不是简单地删除它,但是:我永远不会阅读它,它只会妨碍它。一个问题示例是,当我对某些代码段执行文本搜索时,我在注释代码中获得了数十个“错误”命中。皮塔饼。
有没有一种快速/简单的方法来检测大块注释掉的代码?也许是一个聪明的正则表达式?
我此时恰好在 VB.NET 中工作,注释字符是一个撇号。
您可以使用正则表达式搜索。搜索
^.*'.*$
查找带有注释的单行。您可能希望找到至少 3 行以注释开头的行:
^.*'.*\n.*'.*\n.*'.*$
让猫远离键盘。
(^\s*//.*\n)^10
查找 10 条并发注释掉的//
样式行。
注释掉的测试:
\s*//\s*\[Test\].*\n
恐怕我同意达菲莫。我认为您不会找到一种可靠的自动方法来删除注释掉的代码。我敢肯定,如果你足够努力地搜索,你会找到一个,但你最好把时间花在你的工作上。
我过去曾遇到过这种情况(太频繁了),我最终做的是在处理各种模块时删除注释掉的代码。
例如,我打开类 Person 进行更改,我看到注释掉的代码尚未删除。我签出代码(我们使用 VSS),删除错误代码,签入,最后签出以完成我的工作。
这需要时间才能完全消失,但我觉得这是解决问题的有效利用时间。
对于最终出现在此处的任何 C# 人员,请使用以下正则表达式查找已注释掉的行。
(^|[^/])//[^/]
我建议为 Visual Studio 编写或查找有助于删除评论的宏。
一些伪逻辑:
'
,则继续这就是版本控制系统的用途。
我会确保它处于版本控制之下(希望不是 Visual Source Safe),检查它,删除所有注释代码,然后重新检查它。
我也劝阻你的开发团队在未来的实践。
我知道这是一个旧线程,但没有提到对我有帮助的技巧。
我搜索这个正则表达式:
(^\s*'. =. \n)^
它查找包含等号的注释掉的行。我的经验是,大多数注释掉的代码块至少包含一行具有赋值的行,而等号在实际注释中非常罕见。
我不会自动替换,我只需按 F3,如果它与单行匹配,我只需按 Enter 键即可将突出显示的文本替换为新行。如果它落在作为注释行块的一部分的行上,那么我只需手动选择,再按回车键和 F3。