17

我正在使用一个继承的代码库,其中包含数千行注释掉的代码。我知道以前的编码员打算将他所有的辛勤工作留给后代,而不是简单地删除它,但是:我永远不会阅读它,它只会妨碍它。一个问题示例是,当我对某些代码段执行文本搜索时,我在注释代码中获得了数十个“错误”命中。皮塔饼。

有没有一种快速/简单的方法来检测大块注释掉的代码?也许是一个聪明的正则表达式?

我此时恰好在 VB.NET 中工作,注释字符是一个撇号。

4

8 回答 8

15

您可以使用正则表达式搜索。搜索

^.*'.*$

查找带有注释的单行。您可能希望找到至少 3 行以注释开头的行:

^.*'.*\n.*'.*\n.*'.*$

让猫远离键盘。

于 2010-03-10T22:27:17.903 回答
5
(^\s*//.*\n)^10

查找 10 条并发注释掉的//样式行。

注释掉的测试:

\s*//\s*\[Test\].*\n
于 2010-08-16T10:13:36.427 回答
4

恐怕我同意达菲莫。我认为您不会找到一种可靠的自动方法来删除注释掉的代码。我敢肯定,如果你足够努力地搜索,你会找到一个,但你最好把时间花在你的工作上。

我过去曾遇到过这种情况(太频繁了),我最终做的是在处理各种模块时删除注释掉的代码。

例如,我打开类 Person 进行更改,我看到注释掉的代码尚未删除。我签出代码(我们使用 VSS),删除错误代码,签入,最后签出以完成我的工作。

这需要时间才能完全消失,但我觉得这是解决问题的有效利用时间。

于 2010-03-10T22:28:21.147 回答
1

MZ-tools具有检查死代码的功能。

于 2011-04-20T09:42:45.717 回答
1

对于最终出现在此处的任何 C# 人员,请使用以下正则表达式查找已注释掉的行。

(^|[^/])//[^/]
于 2016-09-12T11:39:20.960 回答
0

我建议为 Visual Studio 编写或查找有助于删除评论的宏。

一些伪逻辑:

  • 从行号开始,读取第一个字符。记住这个行号。
  • 如果是 VB 注释字符',则继续
  • 读取下一行的第一个字符。如果是注释字符,继续。
  • 当找到不是注释字符的行时,分析遍历的行数。
  • 如果遍历的行数与您的n阈值匹配,则删除它们。
于 2010-03-10T22:29:25.200 回答
0

这就是版本控制系统的用途。

我会确保它处于版本控制之下(希望不是 Visual Source Safe),检查它,删除所有注释代码,然后重新检查它。

我也劝阻你的开发团队在未来的实践。

于 2010-03-10T22:18:43.557 回答
0

我知道这是一个旧线程,但没有提到对我有帮助的技巧。

我搜索这个正则表达式:

(^\s*'. =. \n)^

它查找包含等号的注释掉的行。我的经验是,大多数注释掉的代码块至少包含一行具有赋值的行,而等号在实际注释中非常罕见。

我不会自动替换,我只需按 F3,如果它与单行匹配,我只需按 Enter 键即可将突出显示的文本替换为新行。如果它落在作为注释行块的一部分的行上,那么我只需手动选择,再按回车键和 F3。

于 2017-05-23T06:22:31.997 回答