File size: 2,723 Bytes
07be191
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
# 🚀 プロジェクト構造

## 📁 ディレクトリ構成例

```
work/
├── example/
├── experiments/
│   ├── task_1/
│   ├── task_2/
│   └── ...
├── src/
│   ├── components/
│   ├── utils/
│   └── pipelines/
└── tests/
```

## 📂 ディレクトリ詳細

### 🎯 `example/`

**目的**: デモンストレーションとサンプルコードの提供

| 内容                                                                            | 特徴                                                           |
| ------------------------------------------------------------------------------- | -------------------------------------------------------------- |
| • Hugging Face Spacesのデモスクリプト<br>• クライアント共有用の整形されたコード | • クリーンで再利用可能なコード<br>• 明確なドキュメンテーション |

---

### 🧪 `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`                        | 詳細なテスト結果を表示         |

> ⚠️ **注意**: テスト実行前に、必要な依存関係がインストールされていることを確認してください。