Skip to content

Welcome画面関連:App.vueのフォールバックを削除し型で防御する #2926

@Hiroshiba

Description

@Hiroshiba

内容

src/welcome/components/App.vueの防御的コードを削除し、型で防御する形に改善したい。

背景

PR #2866 でおそらくAIが書いたコード?に、過剰な防御的コードやフォールバックが含まれている。

修正項目

  1. lines 277-289: 防御的コードのオンパレード

    • ?? themes[0]は不要、そうならないはずなのでassertで良い
    • if (!theme)は不要、themes[0]してるならそうなり得ない
    • catch (error)も不要
  2. lines 114-120: 直和型にすべき

    • この辺り直和型にしたほうが見やすそう
  3. lines 122-124: フォールバック

    • こういうフォールバックが現れると異常な操作をしてしまいうる
  4. lines 144-146: フォールバック

    • フォールバックなのか想定動作なのか不明
  5. lines 219-222: assertNonNullable

    • ここもフォールバックな気がする、assertNonNullableにすべき
  6. lines 278-288: エラーハンドリングが過剰

    • 型で防御するのがかっこよい
  7. 注意: 他にも同様のフォールバックがあるかもしれないので、ファイル全体を確認する

ref: #2866 (comment)
ref: #2866 (comment)
ref: #2866 (comment)
ref: #2866 (comment)
ref: #2866 (comment)
ref: #2866 (comment)

Pros 良くなる点

  • 不正な状態を早期に検出できる
  • コードの意図が明確になる

Cons 悪くなる点

(なし)

実現方法

フォールバックをassertNonNullableに置き換え、型を適切に設計する。

VOICEVOXのバージョン

mainブランチ

その他

(参考)変更対象ファイル:

  • src/welcome/components/App.vue

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions