IT-Q

オンデマンド再検証で、パス指定とタグ指定はどう使い分けますか。

パス指定はこの画面を作り直す、タグ指定はこのデータを使っている場所を全部作り直すです。同じデータが一覧・詳細・トップに出るような場合は、タグでまとめて扱う方が漏れません。

面接官が見ているのは影響範囲の設計ができるか。

これは「キャッシュした内容を、更新されたタイミングで最新にしたい。どうしますか。」への追撃質問です。

よくある答えと、面談でどう見られるか

  • パスは画面単位、タグはデータ単位。同じデータが複数画面に出るならタグ
    更新側が表示側の画面構成を知らずに済むので、依存が減ります。
  • パスの方が新しく推奨されているので、基本はパス
    新旧の関係ではありません。影響範囲の指定方法が違うだけです。
  • タグの方が確実なので、常にタグを使う
    タグは強力ですが、付け忘れると効きません。1画面にしか出ないデータなら、パス指定の方が単純で追いやすいです。
  • どちらでも同じなので、書きやすい方でよい
    影響範囲が違います。同じデータが4画面に出ているとき、パス指定なら4か所書く必要があり、画面が増えるたびに漏れます。

面接官は何を見ているか

  • パスは画面単位、タグはデータ単位、という軸を言えた
  • 同じデータが複数画面に出る場合を考えられた
  • 捨て漏れのリスクに触れた

模範解答

パス指定は「この画面を作り直す」、タグ指定は「このデータを使っている場所を全部作り直す」です。

同じデータが1画面にしか出ないならパス指定で十分です。単純で追いやすい。

問題は同じデータが複数箇所に出る場合です。商品情報が一覧・詳細・カート・管理画面に出ているとき、パス指定だと4か所すべてを書く必要があり、新しい画面が増えるたびに追加を忘れます。タグを付けておけば、更新側は「この商品のタグを捨てる」と書くだけで済みます。

設計としては、データを取得する側でタグを付けておき、更新する側はタグだけを知っていればよい形にします。更新側が表示側の画面構成を知らなくて済むので、依存が減ります。