簡體   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