快速简便地删除“死”(注释掉)的代码

时间:2010-03-10 22:14:23

标签: .net vb.net regex dead-code

我正在使用一个包含数千行注释掉代码的继承代码库。我知道以前的编码器意味着为后代保存他所有的辛勤工作,而不是简单地删除它,但是:我永远不会读它,它只会妨碍它。一个问题的例子是当我对某些代码段执行文本搜索时,我在注释代码中得到了数十个“错误”命中。 PITA。

是否有快速/简便的方法来检测大块注释掉的代码?一个聪明的RegEx或许?

我此时正好在VB.NET中工作,评论字符是单个撇号。

8 个答案:

答案 0 :(得分:13)

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

^.*'.*$

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

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

让猫远离键盘。

答案 1 :(得分:4)

我担心我同意duffymo。我不认为您会找到一种可靠的自动方式来删除已注释掉的代码。我敢肯定,如果你搜索得足够多,你会找到一个,但你的时间会更好地花在你的工作上。

过去我经常遇到这种情况(经常这样),我最终要做的就是在处理各种模块时删除注释掉的代码。

作为一个例子,我打开类Person进行更改,我看到已注释掉的代码尚未被删除。我检查代码(我们使用VSS),删除坏代码,检查它,最后,检查它来完成我的工作。

在它全部消失之前需要一段时间,但我觉得有效利用时间来解决问题。

答案 2 :(得分:3)

(^\s*//.*\n)^10

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

注释掉测试:

\s*//\s*\[Test\].*\n

答案 3 :(得分:1)

MZ-toolsreview dead code的功能。

答案 4 :(得分:1)

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

(^|[^/])//[^/]

答案 5 :(得分:0)

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

我确保它受版本控制(希望不是Visual Source Safe),检查出来,删除所有注释的代码,然后重新检入。

我也不鼓励你的开发团队在未来的做法。

答案 6 :(得分:0)

我建议为Visual Studio编写或查找一个有助于删除注释的宏。

一些伪逻辑:

  • 从行号开始,读取第一个字符。记住这个行号。
  • 如果是VB注释字符',则继续
  • 阅读下一行的第一个字符。如果是评论字符,请继续。
  • 找到不是注释字符的行时,请分析遍历的行数。
  • 如果遍历的行数与 n 的阈值相匹配,则删除它们。

答案 7 :(得分:0)

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

我搜索这个正则表达式:

(^ \ S *”。 = \ n)的^

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

我没有自动更换,我只按F3,如果它匹配一行,我只需按回车键用新行替换突出显示的文本。如果它落在一行注释行的一部分上,那么我只需手动选择,再按回车键和F3。

相关问题