6

在我们与多个开发人员和样式的项目过程中,我们有一些测试和代码被注释掉了。有没有一种简单的方法可以找到所有被注释掉的代码?

该工具应该足够聪明,可以发现被注释的是 ruby​​ 代码,而不是真正的注释。

在这一点上我只能想到 grep 之类的grep #,但它应该更聪明,更少手动。

4

2 回答 2

1

看来您需要一种looks_like_ruby方法才能执行此操作:

puts line if line =~ /^\s+#/ && looks_like_ruby(line)

一个快速而肮脏的实现(在我的脑海中)

def looks_like_ruby(text)
  text =~ Regexp.union((Kernel.methods + Object.methods).uniq.map(&:to_s))
end

不完美,但比 grepping for#

于 2012-11-15T00:54:58.567 回答
1

这可能很难看,但我认为您可以使用 rake 任务检查每个“.rb”文件,每行一行,将其与正则表达式匹配(类似于 /#.*\n/),并eval("matching_string")在每个匹配项上运行一个。如果注释不是 ruby​​ 代码,它只会失败。

于 2012-11-14T23:49:24.113 回答