技術とかの雑なToday I Learnedメモ

returnのObjectの中か外か

return の Object の中か外か

setup の return の Object や composable な関数(useXxx)の return の Object に computed や methods を含めるとき、「return の Object に直接定義する」か「変数に定義したものを return の Object に詰める」のどっちがいいかというのを考えた。

11/19のやつとほぼ同じ。

return の Object に直接定義するとき、

  • 変数定義が減る
  • 使う側から定義ジャンプしたときにロジックに一発で飛べる
  • ネストが深くなる
  • return で返ってくるもの一覧を見たいときに可読性が悪くなる
  • 別の部分でその関数を利用したいときに Object の外に出さないといけなくなる

return の Object の外に変数として定義し、return の Object には変数だけを返すとき、

  • 変数定義が増える
    • methods ならどうせ関数名を考えなくてはならないといえばそれはそう
  • return するもの一覧の可読性がよくなる
  • return する Object 以外の部分で利用しようとしたときに再定義しなくてもよい
  • 使う側からの定義ジャンプ時に一発でロジックに飛べない

という感じだろうか。

computed とか methods とか以前に、そもそも「関数の戻り値の Object に直接ロジックを定義するかどうか?」というのを考えたときに、自分は可読性の観点からやらないなという考えに至った。

また、リファクタリングの際に手間が増えることや、return される値の一覧の見やすさも考えると、やはり return の Object の外に書くのがいいのかなと感じる。

まあでもこれって React にすれば考えなくてもいいことではあるよなとも思う。