我正在撰寫 Ruby 代碼。
重構前的代碼如下:
class Tool
def self.say_hi
return "hi"
end
end
在我的同事重構之后:
module Tool
extend self
def say_hi
return "hi"
end
end
兩種代碼風格都可以作為: Tool.say_hi.
我想知道他的風格有什么優點和缺點。謝謝。
uj5u.com熱心網友回復:
他們為一個模塊更改了類,主要區別在于模塊可以包含在其他類中以重用該say_hi方法。
class Toolbox
include Tool
end
Toolbox.new.say_hi
但我不知道這是否是重構的主要驅動力,這兩種方法之間的另一個區別是您可以使用第二個片段控制方法的可見性。
module Tool
extend self
private
def say_hi
return "hi"
end
end
Tool.say_hi
將private method 'say_hi' called for Tool:Module (NoMethodError同時回傳,這將起作用。
class Tool
private
def self.say_hi
return "hi"
end
end
Tool.say_hi
轉載請註明出處,本文鏈接:https://www.uj5u.com/qianduan/418364.html
標籤:
