44
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

引き継ぎの案件(途中まで実装されている状態)で、react開発を進めていく中で自分が初めから作るとしたらどんなディレクトリの構成が最適か考えたのでまとめてみることにしました。

なぜディレクトリ構成が重要なのか

ディレクトリ構成は開発の効率に大きく関わります。
より良い構成であれば、どこに何があるかが明確になり機能の追加や修正がスムーズになります。
また、初見でもプロジェクト全体の構造を理解しやすくなります。

現状の課題

  • ボタンやダイアログなどの汎用性の高いコンポーネントが components フォルダ内に集約されているが、類似のコンポーネントが複数のディレクトリに分散しているため、管理が難しくなっている
  • 各機能が features フォルダ内にあるものの、サブディレクトリやファイルがまとまっていないため、探しにくい部分がある

改善案

  • components の整理
    • components/shared: Material UI コンポーネントを組み合わせた共通コンポーネントを配置
    • components/layout: ページを構成するためのデザインフレームを提供するコンポーネントを配置
  • features の整理
    • features/{feature_name}/components
      各機能に特化したコンポーネントを配置。特定の機能に関連するビジネスロジックやUIを処理するコンポーネントをこのディレクトリに格納します。
      例) features/auth/components/EmailForm,features/project/components/ProjectDetail

    • features/{feature_name}/hooks
      特定の機能に関連するカスタムフックを配置。状態管理やAPIとのやりとりなど、機能固有のファイルをこのディレクトリに集めます。
      例)features/hooks/useFetch, features/hooks/usePost

結論

ディレクトリ構成の最適化は、プロジェクトの規模が大きくなるにつれてその重要性が増します。適切な構成を採用することで、開発の効率が上がり、コードの可読性や保守性も向上します。コードの追加や修正が容易になるように意識したディレクトリ構成をすることが重要です。

44
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
44
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?