rubyのコードって、どうやったら綺麗に書けるんだろう?と誰しもが悩んだことがあるはずです。そういう事例をまとめて紹介していきたいと思います。
unlessの使いどころ
悪いコード
companies = ["Google", "Yahoo"]
if !companies.empty?
puts "Hi"
end
良いコード1。unlessで記述する。
companies = ["Google", "Yahoo"]
unless companies.empty?
puts "Hi"
end
良いコード2。一行で記述する。
companies = ["Google", "Yahoo"]
puts "Hi" unless companies.empty?
nilの判定
悪いコード
company = "Amazon"
companies = ["Google", "Yahoo"]
if companies.find_index(company) != nil
puts "There is"
end
良いコード。nilでないはtrueという意味。
company = "Amazon"
companies = ["Google", "Yahoo"]
if companies.find_index(company)
puts "There is"
end
&&を上手に使う
悪いコード
company = "Amazon"
companies = ["Google", "Yahoo"]
if company
if companies.find_index(company) != nil
puts "There is"
end
end
良いコード
company = "Amazon"
companies = ["Google", "Yahoo"]
if company && companies.find_index(company)
puts "There is"
end
nilガード
悪いコード
if a !=nil
a = a
else
a = []
end
良いコード
a ||= []
ifで値を代入
悪いコード
res = nil
if search
res = a
else
res = b
end
良いコード
res = nil
res = if search
res = a
else
res = b
end
メソッドの最後の値が自動でreturnされる1
悪いコード
def search_method
res = nil
res if search
res = a
else
res = b
end
return res
end
良いコード
def search_method
res = nil
if search
a
else
b
end
end
メソッドの最後の値が自動でreturnされる2
悪いコード
def search_method
company = "Amazon"
companies = ["Google", "Yahoo"]
search_index = companies.find_index(company)
if search_index
search_index
else
"Nothig"
end
end
良いコード
def search_method
company = "Amazon"
companies = ["Google", "Yahoo"]
search_index = companies.find_index(company) || "Nothig"
end
0 件のコメント:
コメントを投稿