おさとの雑記帳

日々の学習のアウトプットに使っていきます!

説明変数を使おう

結論

  • 説明変数を用いると可読性が増す

説明変数とは?

式を表す変数のこと。

式の意味を説明してくれるような変数名にするため、説明変数と呼ぶ。

使う理由

コードの見通しが良くなるため。

具体例

users = [
  {
    name: "太郎",
    hobbies: [
      "baseball", "shogi",
    ],
  },
  {
    name: "次郎",
    hobbies: [
      "soccer", "igo",
    ],
  },
]

users.each do |user|
  if user[:hobbies][1].upcase == "IGO"
    puts "#{user[:name]}ってヒカルの碁知ってる?"
  end
end

こんなコードがある時に、user[:hobbies][1] が何を指してるのか分かりにくいですよね。

例えば以下のようにしてみるとどうでしょう。

users = ... # 略

users.each do |user|
  indoor_hobby = user[:hobbies][1].upcase! # ここを追加
  if indoor_hobby == "IGO"                              # ここを修正
    puts "#{user[:name]}ってヒカルの碁知ってる?"
  end
end

一行増えますが、ifの条件においてシンボルやインデックスでよび出していた箇所が説明変数で定義されたことにより、見通しが良くなりました。

まとめ

  • 分量より読みやすさを大切にするために、説明変数を使う

参考