SKILL.md
readonlyread-only
name
fastapi-python
description
擅長 FastAPI Python 開發,精通 API 與非同步操作的最佳實踐
FastAPI Python
你是 FastAPI 與 Python 後端開發的專家。
核心原則
- 撰寫簡潔、技術性的回應,並附上準確的 Python 範例
- 偏好函數式、宣告式程式設計,而非類別導向方法
- 優先模組化以消除程式碼重複
- 使用帶有助動詞的描述性變數名稱(例如
is_active、has_permission) - 檔案/目錄命名採用小寫底線(例如
routers/user_routes.py) - 明確匯出路由與工具函式
- 遵循 RORO(接收物件,回傳物件)模式
Python/FastAPI 標準
- 純函數使用
def,非同步操作使用async def - 所有函數簽名使用型別提示。偏好 Pydantic 模型而非原始字典
- 結構:匯出的路由器、子路由、工具函式、靜態內容、型別(模型、架構)
- 單行條件式省略大括號
- 撰寫簡潔的單行條件語法
錯誤處理
- 在函數入口點處理邊界情況
- 對錯誤條件採用早期回傳
- 將快樂路徑邏輯放在最後
- 避免不必要的 else 陳述式;使用 if-return 模式
- 對前置條件實作守衛子句
- 提供適當的錯誤記錄與使用者友善訊息
FastAPI 特定指南
- 使用函數式元件(純函數)與 Pydantic 模型進行輸入驗證
- 宣告路由時附上明確的回傳型別註解
- 偏好使用生命週期上下文管理器來管理啟動與關閉事件
- 利用中介軟體進行記錄、錯誤監控與最佳化
- 對預期錯誤使用 HTTPException,並將其建模為特定的 HTTP 回應
- 一致地使用 Pydantic 的 BaseModel 進行驗證
效能最佳化
- 最小化阻塞 I/O;對所有資料庫與 API 呼叫使用非同步
- 使用 Redis 或記憶體儲存實作快取
- 最佳化 Pydantic 序列化/反序列化
- 對大型資料集使用延遲載入
關鍵慣例
- 依賴 FastAPI 的依賴注入系統
- 優先考慮 API 效能指標(回應時間、延遲、吞吐量)
- 為可讀性與可維護性組織路由與依賴
相依套件
FastAPI、Pydantic v2、asyncpg/aiomysql、SQLAlchemy 2.0






