Dart 語言
撰寫符合專案 SDK 限制與既定風格的清晰 Dart 程式碼。
決策
- 使用較新語法前,請先讀取
pubspec.yaml中的 SDK 限制。 - 偏好簡單型別與直接的控制流程,避免使用未經證實可重複使用的抽象。
- 當窮舉檢查能提升正確性時,使用密封型別(sealed type)來建立封閉變體。
- 對於小型結構化值使用記錄(records);當需要身分、驗證、文件或演進時,使用具名領域型別。
- 僅在模式匹配能讓分支或解構更清晰時才使用,而非為了新奇。
- 除非明確要求破壞性變更,否則請保留公開 API 的相容性。
- 將可變狀態保持為私有,並僅暴露最小實用的表面。
遵循 Effective Dart 的命名、文件、使用與設計指引。比對儲存庫的 lint 規則,而非加入衝突的風格政策。
驗證
當目前環境開放使用時,請使用 Dart MCP 語義查詢與分析;否則檢查原始碼並使用專案 CLI。執行格式化、靜態分析以及最窄範圍的相關測試。當變更公開套件 API 時,請檢查範例及其下游呼叫點。
邊界
- 非同步、串流、取消與隔離區(isolate):請使用
dart-concurrency。 - Flutter 小工具組合或狀態所有權:請使用相關的 Flutter 技能。
- JSON 與持久化綱要行為屬於對應的資料技能。