Skip to content

Commit 7dabae3

Browse files
committed
chore: Fix format (#2627)
1 parent f2ccdad commit 7dabae3

File tree

1 file changed

+4
-0
lines changed
  • docs/dev-notes/2025-09-23/contest-task-pair-mapping

1 file changed

+4
-0
lines changed

docs/dev-notes/2025-09-23/contest-task-pair-mapping/plan.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -243,18 +243,22 @@ type TaskResultMapByContestTaskPair = Map<ContestTaskPairKey, TaskResult>;
243243
以下は、実装中に得られた教訓を一般化したものです。今後の開発においても参考にしてください。
244244

245245
### 1. 防御的なチェックの再考
246+
246247
- **教訓**: Prisma のエラーハンドリング(例: `P2002``P2025`)を活用することで、事前チェックを省略し、TOCTOU(Time-of-Check to Time-of-Use)競合を回避できる。
247248
- **推奨**: 事前チェックを行う代わりに、データベース操作の結果を直接利用し、エラーを適切に処理する。
248249

249250
### 2. 戻り値の活用
251+
250252
- **教訓**: CRUD メソッドで作成・更新されたレコードを返すことで、呼び出し元が追加のクエリを実行せずに結果を利用できる。
251253
- **推奨**: `create``update` メソッドでは、`void` を返すのではなく、作成・更新されたレコードを返すようにする。
252254

253255
### 3. 型定義の明確化
256+
254257
- **教訓**: Prisma の自動生成型を活用しつつ、必要に応じて独自の型を定義することで、型安全性と可読性を向上できる。
255258
- **推奨**: CRUD 操作用の型(例: `Create`, `Update`, `Read`)を明確に分離し、それぞれの目的に応じた型を定義する。
256259

257260
### 4. ログとエラーハンドリング
261+
258262
- **教訓**: エラー発生時には、適切なログを出力し、問題の特定を容易にする。
259263
- **推奨**: Prisma のエラーコード(例: `P2002`, `P2025`)を活用して、エラー内容に応じた具体的なメッセージを出力する。
260264

0 commit comments

Comments
 (0)