在我们与多个开发人员和样式的项目过程中,我们有一些测试和代码被注释掉了。有没有一种简单的方法可以找到所有被注释掉的代码?
该工具应该足够聪明,可以发现被注释的是 ruby 代码,而不是真正的注释。
在这一点上我只能想到 grep 之类的grep #
,但它应该更聪明,更少手动。
在我们与多个开发人员和样式的项目过程中,我们有一些测试和代码被注释掉了。有没有一种简单的方法可以找到所有被注释掉的代码?
该工具应该足够聪明,可以发现被注释的是 ruby 代码,而不是真正的注释。
在这一点上我只能想到 grep 之类的grep #
,但它应该更聪明,更少手动。
看来您需要一种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#
这可能很难看,但我认为您可以使用 rake 任务检查每个“.rb”文件,每行一行,将其与正则表达式匹配(类似于 /#.*\n/),并eval("matching_string")
在每个匹配项上运行一个。如果注释不是 ruby 代码,它只会失败。