プログラミングスクールのフィヨルドブートキャンプの提出物のレビューでよく指摘するシリーズ。
Bad:
def kana(name)
result = ""
if name == "komagata"
result = "コマガタ"
elsif name == "machida"
result = "マチダ"
elsif name == "tanaka"
result = "タナカ"
elsif name == "yamada"
result = "ヤマダ"
end
result
end
Good:
def kana(name)
{
"komagata" => "コマガタ",
"machida" => "マチダ",
"tanaka" => "タナカ",
"yamada" => "ヤマダ"
}[name]
end
こういう分岐数が多いやつはハッシュで分岐数を削減できる。
Goodな例ではハッシュのキーがシンボルになっていて、
BadとGoodで挙動が異なっています。