| name | backend-dev |
| description | バックエンド開発(FastAPI/Python)のベストプラクティスと規約 |
バックエンドのコーディング規約
- 依存性注入 (DI): 依存性注入を徹底し、上位層は抽象化に依存する。
- レイヤーアーキテクチャ:
- サービス層の責任を明確化する。
- API 層は通信処理のみ。
- ビジネスロジックはサービス層。
- データ処理はリポジトリ層に分離する。
- モジュール構成: モジュールは機能単位で整理し、ルーティングやサービスを肥大化させない。
- サービス統合: 複数サービスの統合はコーディネーションサービスを用いて抽象化し、API 層では複雑な処理を記述しない。
- ログ出力:
- ログは目的と対象を明確にする。
- INFO は主要操作の開始・完了。
- DEBUG は開発者向けの詳細追跡に限定する。
- 禁止事項: 機密データを含む内容を出力してはならない。
実装チェックリスト
- 入力バリデーションは適切か(Pydantic モデルの使用)
- エラーハンドリングは適切か(HTTPException の使用、適切なステータスコード)
- 認証・認可は適切に実装されているか
- N+1 問題などのパフォーマンス問題はないか
- 非同期処理(async/await)は適切に使用されているか
- 型ヒントは全ての関数・メソッドに付与されているか