繁体   English   中英

使用多行正则表达式在Ruby中注释掉代码是否可以?

[英]Is it OK to use multi line regular expression to comment out code in Ruby?

当注释掉ruby中的代码时,我们有两个主要选项

  1. 在行# puts "somecode"开头添加Sharp, # puts "somecode"
  2. 将您的代码放在=start puts "somecode" =end之间, =start puts "somecode" =end

我很懒,有时我将代码放在斜线之间,例如下面的代码。 它创建多行正则表达式表达式。 这种做法会导致什么样的副作用?

puts "hello"
/
puts "world"
/
puts "peace"

输出值

hello
peace

正如Holger指出的那样,大多数编辑器都有“切换注释”,这使启用/禁用代码块的方式更加可靠。 这是推荐的方法。 您的正则表达式方法太懒了一半,这对那些一眼看懂代码来验证正在发生的事情的人来说是莫名其妙的。

使用无意间禁用的代码进行提交是一件会发生的事情,因此您希望注释既清晰又易于修复。

哪个看起来更好:

def example
  do_important_stuff!
  /
  other(thing: true)
  do_super_important_stuff(factor: 9000)
  /
  do_other_stuff
end

与更直观:

def example
  do_important_stuff!
  # other(thing: true)
  # do_super_important_stuff(factor: 9000)
  do_other_stuff
end

与许多编辑器一样,Stack Overflow的语法高亮立即显示出其中的代码已被注释掉。 另一个版本看起来很奇怪

如果您发现启用/禁用评论过于繁琐,则可能需要让您的编辑器来帮助您,或者对其进行配置以使其更容易实现。

以塔德曼的例子

def example
  do_important_stuff!
  /
  other(thing: true)
  do_super_important_stuff(factor: 9000)
  /
  do_other_stuff
end

每次调用该方法都会创建一个Regex对象,这不是免费的。 垃圾收集过程需要时间,内存和额外的工作。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM