プログラミングスクールのフィヨルドブートキャンプの提出物のレビューでよく指摘するシリーズ。

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

こういう分岐数が多いやつはハッシュで分岐数を削減できる。

Comments


Option