# 🚀 プロジェクト構造
## 📁 ディレクトリ構成例
```
work/
├── example/
├── experiments/
│ ├── task_1/
│ ├── task_2/
│ └── ...
├── src/
│ ├── components/
│ ├── utils/
│ └── pipelines/
└── tests/
```
## 📂 ディレクトリ詳細
### 🎯 `example/`
**目的**: デモンストレーションとサンプルコードの提供
| 内容 | 特徴 |
| ------------------------------------------------------------------------------- | -------------------------------------------------------------- |
| • Hugging Face Spacesのデモスクリプト
• クライアント共有用の整形されたコード | • クリーンで再利用可能なコード
• 明確なドキュメンテーション |
---
### 🧪 `experiments/`
**目的**:
- 実験的コードの開発
- PoCの主要作業場所
**使用方法**:
1. タスク単位でディレクトリを作成
2. 各タスクディレクトリ内で実験的コードを記述
3. クライアント共有前にコードをリファクタリングし、`example/`に移動
**構造例**:
```
experiments/
├── task_1/
├── task_2/
└── ...
```
---
### 🛠 `src/`
**目的**:
- プロジェクト非依存の主要コンポーネントとユーティリティクラスの保管
- 他プロジェクトでの再利用を可能にする
> 💡 **ヒント**: プロジェクト終了時に、全体のコードをリファクタリングし、再利用可能な部分を`src/`に移動させましょう。
**構造例**:
```
src/
├── utils/
├── components/
├── pipelines/
└── ...
```
---
### 🧪 `tests/`
**目的**: プロジェクトの品質保証
**構造**:
- `unit/`: 単体テスト
- `src/`の各モジュールに対応
- 命名規則: `test_*.py`
- 例: `src/utils/data_loader.py` → `tests/utils/test_data_loader.py`
**テストの実行方法**:
| コマンド | 説明 |
| --------------------------------------------- | ------------------------------ |
| `pytest tests/unit` | 全ての単体テストを実行 |
| `pytest tests/unit/utils/test_data_loader.py` | 特定のモジュールのテストを実行 |
| `pytest tests/unit -v` | 詳細なテスト結果を表示 |
> ⚠️ **注意**: テスト実行前に、必要な依存関係がインストールされていることを確認してください。