-1
我正在寫一個ruby程序,但是我的代碼開始感覺太胖了,笨拙。我真的想重構代碼,但我不知道我能在哪裏,更不用說從哪裏開始。以下是我的程序中最大的方法,所以我認爲我可以更好地重構它們。有沒有人有重構以下紅寶石方法的任何提示或建議:重構此Ruby代碼的任何建議?
def project_name
project_object = fetch(:payload).fetch(:project)
client_object = fetch(:payload).fetch(:client)
project_name =
if project_object == nil
""
else
project_object.fetch(:name)
end
client_name =
if client_object == nil
""
else
client_object.fetch(:name)
end
if project_name.length > 0 && client_name.length > 0
"Project: #{project_name}(#{client_name})"
elsif project_name.length > 0 && client_name.length == 0
"Project: #{project_name}"
elsif project_name.length == 0 && client_name.length > 0
"Client: #{client_name}"
else
""
end
end
和...
def duration_formatter(date_1, date_2)
date_1 = date_1.to_time
date_2 = date_2.to_time
if date_1.year == date_2.year
if date_1.month == date_2.month
if date_1.day == date_2.day
"#{date_1.strftime('%-d %b %Y')}"
else
"#{date_1.strftime('%-d')} - #{date_2.strftime('%-d %b %Y')}"
end
else
"#{date_1.strftime('%-d %b')} - #{date_2.strftime('%-d %b %Y')}"
end
else
"#{date_1.strftime('%-d %b %Y')} - #{date_2.strftime('%-d %b %Y')}"
end
末
的任何意見或建議將主要讚賞