-
Notifications
You must be signed in to change notification settings - Fork 200
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
refactor: root 下のファイルを移動して整理 #1408
Comments
rootを片付けたい気持ちは賛成です!
なるほどです。確かに細かい部分を議論しまくるのは微妙な気がします。 全部toolsに置くのは、次は 一旦run.pyだけであれば、run.pyがエントリーポイントであるということをドキュメントに書くことで入口を作ってあげるのはありかもです。 |
👍️ |
現段階だと、toolsよりはrootにあったほうがまあマシかなと感じます。 でも |
👍️ 現状現状、root 直下が散らかっていることに課題感はあるが解決策が見つけられていない状態です。 |
詳しく考えれてないので「そうしましょう」という提案ではないのですが、アイデアだけ。。
|
(追記)
現状は コチラ。
アイデア募集中です!
内容
概要: レポジトリ root 直下のファイルを移動してリファクタリング
現在の VOICEVOX ENGINE は レポジトリ root 直下に 24 個のファイル・ディレクトリを配置している。
数の多さゆえに root 下に何があるかブラウザで確認するにはスクロールが必要である。重要なエントリーポイントである
run.py
も下に埋もれおり一見して見つけられない。設定等をとりあえず root へファイルを置く方針がスケールしなくなっているといえる。このことは各所で指摘されている(例: #1368 (comment) by @Hiroshiba)。一方で各ファイルごとに
build_util
等へ移動していくと設定ファイルの配置箇所に統一性がなくなり、全体として見た DX が低下する懸念がある(参考: #1368, #1376, #1388)。よってゴール像をこの issue で検討し、それに従って各ファイルの具体的対処をおこなうのが望ましい。
このような背景から、レポジトリ root 直下のファイルを移動するリファクタリングについて、指針の議論を提案します。
移動対象
現時点で移動/削除が検討されている root 直下のファイル・ディレクトリは以下になります(括弧内は個別 PR):
.pre-commit-config.yaml
(整理: pre-commit 設定ファイルを移動 #1368)run.spec
(追加: パッケージ内run.py
とその実行を追加 #1376)presets.yaml
(追加: デフォルトプリセット機能を削除しプリセット保存先を指定する機能へ変更 #1323)run.py
(追加: パッケージ内run.py
とその実行を追加 #1376)指針案
@tarepan の提案する基本指針は「自転車置場の議論を避け、細かい不整合に目を瞑って
tools/
へ一括移動する」です。開発者にとっての理想的ディレクトリ構造は以下の概形をもつと考えます:
ここで Python の慣習として以下の制約があります:
/test
を置くこれを反映すると以下の概形を持ちます:
voicevox_engine
: 製品コードresources
: 製品リソースdocs
: ドキュメントtest
: 開発系のうちテストdevelopment_things はビルド用スクリプト・ビルド用設定ファイル・開発用スクリプト・開発用設定ファイルを含みます。
.pre-commit-config.yaml
やrun.spec
がこれに該当し、ディレクトリ名はtools
が適切と考えます。「対応するスクリプトがないのに設定ファイルだけある」「ビルドと開発は段階がズレているんじゃないか」等の細かい不整合はあります。しかしここで得たい利益は「root 直下の見通し」であり、この利益は多少意味がズレる不利益を上回ると考えます。
また意味のズレを厳密にコストかけて整理しても、root 下のディレクトリが増えてしまえば本当に欲しかった利益が失われます。厳密にするだけならいくらでも細かく分けられるため、"自転車置場の議論" に陥る懸念もあります。
このような論理から、基本指針として「自転車置場の議論を避け、細かい不整合に目を瞑って
tools/
へ一括移動する」を提案します。The text was updated successfully, but these errors were encountered: