yumemi-inc / flutter-mobile-project-template

MIT License
36 stars 7 forks source link

[Improve]: apps/app パッケージに存在する feature/home のディレクトリ構成を修正する #180

Closed Kotaro666-dev closed 6 months ago

Kotaro666-dev commented 7 months ago

これに関する既存の Issue はありますか?

背景

提案の詳細

他の画面のように、packages/features に新しいパッケージとして切り出す

 features git:(main) ✗ tree -L 1
.
├── debug_mode
├── github_repository
├── setting
└── webview

home_page.dart はディレクトリ構成を以下のように修正する

代替案

No response

環境

- Commit Hash: fb34516355ade8ef6ead69156a921cf177bc860c
blendthink commented 7 months ago

@Kotaro666-dev home_page.dart は packages/features/github_repository を参照しているため、packages/features に新しいパッケージとして切り出すと、 packages/features から packages/features を参照することになってしまい、アーキテクチャとしての複雑度が高まってしまい、パッケージ切り出しによるメリットが低下してしまいそうです。

いったん home_page.dart はディレクトリ構成を少し修正するだけにするか、 packages/features/home として切り出して、そこに packages/features/github_repository を統合するというのはありかなと思いましたが、いかがでしょうか?

Kotaro666-dev commented 6 months ago

確認メモ

home_page.dart は packages/features/github_repository を参照しているため、packages/features に新しいパッケージとして切り出すと、 packages/features から packages/features を参照することになってしまい、アーキテクチャとしての複雑度が高まってしまい、パッケージ切り出しによるメリットが低下してしまいそうです。

上記のコメント内容を確認した。 home_page.dart クラスは packages/features/github_repository を参照している。

class HomePage extends ConsumerWidget {
  const HomePage({
    super.key,
  });

  @override
  Widget build(BuildContext context, WidgetRef ref) {
    final l = L10n.of(context);
    final navigator = ref.watch(homeNavigatorProvider);
    return Scaffold(
      // 省略
      body: const GitHubRepositoryList(),
    );
  }
}
Kotaro666-dev commented 6 months ago

@blendthink

フィードバックありがとうございます。 本 issue 作成時には home_page.dart の依存関係をしっかりと確認できていませんでいた!

いったん home_page.dart はディレクトリ構成を少し修正するだけにするか、 packages/features/home として切り出して、そこに packages/features/github_repository を統合するというのはありかなと思いましたが、いかがでしょうか?

本 issue で取り上げている内容は優先度的に高いものではないため、「home_page.dart はディレクトリ構成を少し修正するだけにする」方針で対応します。