Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

整理: CLI 引数を CLIArgs クラスで型付け #1401

Merged
merged 7 commits into from
Jun 20, 2024

Conversation

tarepan
Copy link
Contributor

@tarepan tarepan commented Jun 16, 2024

内容

CLI 引数をクラス化して一括型付けするリファクタリングを提案します。

関連 Issue

part of #1404

@tarepan tarepan requested a review from a team as a code owner June 16, 2024 05:41
@tarepan tarepan requested review from Hiroshiba and removed request for a team June 16, 2024 05:41
@tarepan tarepan marked this pull request as ready for review June 19, 2024 03:07
@tarepan
Copy link
Contributor Author

tarepan commented Jun 19, 2024

#1404 の Go 判断に基づき、draft を解除しました。レビューよろしくお願いします。

Copy link
Member

@Hiroshiba Hiroshiba left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

ほぼLGTMです!

タイトルの

整理: CLI 引数をクラス化して型付け

ですが、引数をクラス化しているわけではないので誤解が生まれるかもです。

ちなみにdataclassは値の検証を行わないので、今の段階だとvalidationされないはずです。
validationまで実装しちゃうのはどうでしょう?

@tarepan
Copy link
Contributor Author

tarepan commented Jun 19, 2024

引数をクラス化しているわけではないので誤解が生まれるかも

👍️
リネームします。

今の段階だとvalidationされないはず ... validationまで実装しちゃうのはどうでしょう

#1404 にて CLI引数の方はargparseの時点で型のバリデーションが完了しているかもしれません のと指摘があったため実装を見送っています。
どちらの方針が良いでしょうか?

@tarepan tarepan changed the title 整理: CLI 引数をクラス化して型付け 整理: CLI 引数を CLIArgs クラスで型付け Jun 19, 2024
@Hiroshiba
Copy link
Member

Hiroshiba commented Jun 19, 2024

#1404 にて CLI引数の方はargparseの時点で型のバリデーションが完了しているかもしれません のと指摘があったため実装を見送っています。
どちらの方針が良いでしょうか?

あったしかにです、そちらを失念してました!!

気になってたのはargparseから構造体にcastする際にバリデーションがない点でした!
もともとなかったのですが、構造体になったことでpydanticの力で簡単?にバリデーションできるようになったなーと。

サクッとできそうならお願いしたみです・・・!
まあ、clickとかになればパースしたときに型が消えることもなくなってそれすら不要になると思うので、後回しでも・・・!

@tarepan
Copy link
Contributor Author

tarepan commented Jun 19, 2024

argparseから構造体にcastする際にバリデーションがない

👍️
バリデーションを追加しました。


@Hiroshiba
全指摘箇所の反映・テストパスを確認しました。Re-review よろしくお願いします。

run.py Outdated Show resolved Hide resolved
@tarepan
Copy link
Contributor Author

tarepan commented Jun 19, 2024

@Hiroshiba
全指摘箇所の反映・テストパスを確認しました。Re2-review よろしくお願いします。

run.py Outdated Show resolved Hide resolved
@tarepan
Copy link
Contributor Author

tarepan commented Jun 19, 2024

@Hiroshiba
全指摘箇所の反映・テストパスを確認しました。Re3-review よろしくお願いします。

Copy link
Member

@Hiroshiba Hiroshiba left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM!!

@Hiroshiba Hiroshiba merged commit 5f15d6f into VOICEVOX:master Jun 20, 2024
4 checks passed
@tarepan tarepan deleted the refactor/run_cli_args branch June 20, 2024 17:52
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants