-
Notifications
You must be signed in to change notification settings - Fork 350
Open
Labels
Description
内容
src/welcome/components/App.vueの防御的コードを削除し、型で防御する形に改善したい。
背景
PR #2866 でおそらくAIが書いたコード?に、過剰な防御的コードやフォールバックが含まれている。
修正項目
-
lines 277-289: 防御的コードのオンパレード
?? themes[0]は不要、そうならないはずなのでassertで良いif (!theme)は不要、themes[0]してるならそうなり得ないcatch (error)も不要
-
lines 114-120: 直和型にすべき
- この辺り直和型にしたほうが見やすそう
-
lines 122-124: フォールバック
- こういうフォールバックが現れると異常な操作をしてしまいうる
-
lines 144-146: フォールバック
- フォールバックなのか想定動作なのか不明
-
lines 219-222: assertNonNullable
- ここもフォールバックな気がする、assertNonNullableにすべき
-
lines 278-288: エラーハンドリングが過剰
- 型で防御するのがかっこよい
-
注意: 他にも同様のフォールバックがあるかもしれないので、ファイル全体を確認する
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
Reactions are currently unavailable