Open thiramisu opened 1 year ago
まとめありがとうございます!!!
コードって結構なんか未知の理由があってリファクタリングできていないという時もたまにあると思うので、こうやって先に列挙していただけるとその手戻りが防げるからとても良いなと思いました!!!
全部見ていったのですが、問題がありそうなものはありませんでした!!
ちょっと 妥当な順番にソートしなおす(store/type.ts含め)
に関しては、別でそもそもVuexをやめるというのを今画策中↓なので、これはもしかしたら大々的にコンフリクトが発生してしまう可能性があるのでちょっと気をつけた方がいいかもと思いました・・・!!
確認ありがとうございます。pathモジュール周りは地雷っぽいのでできる限り回避しようかなと思っています! 実際にコードを書いたらまずかった、ということもあるかもしれないので、その時はまた言っていただけると助かります。
getCacheOrFetchFromEngine?する
GENERATE_AUDIO(audioItem) returns { audioKey, audioBlob }
を根幹とする関連実装をstore/audioGenerator.ts
へ分離
を試みます
内容
リファクタリング案です。 適当に弄っていたらdiffが1000行を軽く超えたので以下に小分けにしてPRを出そうかと思っています。 一人で完走できるか分からないので、とりあえずまとめておきます。
writeTextFile()
としてファイル先頭に移動1448
changeTailToNonExistent()
としてファイル先頭に移動1478
${speakerName}(${styleName || DEFAULT_STYLE_NAME})
を返す関数formatCharacterStyleName
を定義しutility.ts
に移動1510
DEFAULT_STYLE_NAME
として定義1520
1490
buildFileName()
をgetters.DEFAULT_AUDIO_FILE_NAME()
に変更buildProjectName()
をstore/utilility.ts
からstore/audio.ts
に移しgetters.DEFAULT_PROJECT_FILE_NAME()
に変更components/Dialog.ts
に移動し、filePathをオプション引数から必須にするGENERATE_AUDIO(audioItem) returns { audioKey, audioBlob }
を根幹とする関連実装をstore/audioGenerator.ts
へ分離generateUniqueIdAndQuery()
もその中に移動、また一部をutility.ts
内generateUniqueId(serializable)
に分離GENERATE_LAB
もstore
を参照する必要がないのでgenerateLabFromAudioQuery(audioQuery)
としてその中に移動?(PLAY|STOP)_AUDIO(audioKey)
系のHTMLAudioElement
に対する操作をstore/audioPlayer.ts
へ分離1492
→さらに分解をする方針に
audioElements
がRecordである意味がないので単体にする1525
state.audioStates
からnowPlaying
を分離し単体にする1530
audioElement
系の処理を別のactionへ分離1553
audioPlayer
へ移動1579
1548
ACTIVE_AUDIO_KEY
前提のものの引数をなくす?DirPath
/FilePath
/FileName
/FileBaseName
/FileExtension
を型から区別し、見通しを良くするDEFAULT_FILE_NAME_TEMPLATE
をDEFAULT_AUDIO_FILE_NAME_TEMPLATE = ${DEFAULT_AUDIO_FILE_BASE_NAME_TEMPLATE}.wav
とする1483
getCharacterInfo()
をgetters.CHARACTER_INFO
に変更 関連処理のmutationにデフォルト動作が定義されていてかつアプリ初期化付近で呼び出されているので一見して影響が不明だな、とか思った記憶があります。state.startPoint
が一見意味不明なので名前をselectedAccentPhraseIndex
に変更1482
HAVE_AUDIO_QUERY
とIS_ACTIVE
が未使用っぽいので削除1580
GET_AUDIO_QUERY_OR_ERROR
を作るstore/type.ts
含め)Pros 良くなる点
254 をはじめとした、非同期の生成リクエストがしやすくなりそう。
1474 が達成できそう。
Cons 悪くなる点
その他
細かい挙動について気づいた点を箇条書きにしておきます