領域建模
維護一份共享、精簡的事實來源,記錄專案中事物的「意義」,讓程式碼、文件、工單與對話使用相同的詞彙表達相同的事物。
焦點:$ARGUMENTS(若為空,則針對本次對話中討論的內容建模)。
零隱性假設。 使用者對術語的定義有最終決定權。你從程式碼、文件或對話中推斷出的定義、正式名稱、別名、關聯、基數或不變條件,在使用者確認之前都只是假設。請將它們標記為 ✅ 已確認 · ❓ 未確認 · ❌ 已拒絕,並僅將已確認的內容寫入領域文件作為事實。
模型存放位置
- 如果已存在
GLOSSARY.md或docs/domain.md,則使用該檔案(優先使用既有檔案,不要同時建立兩個)。 - 否則使用以下結構建立
docs/domain.md。
流程
- 讀取目前的領域文件以及實作焦點概念的程式碼(型別、結構描述、資料庫模型、API 合約)。程式碼提供的是實際模型的證據;文件是預期的模型——請註意兩者間的偏差。兩者都無法告訴你使用者的意圖;如果發現偏差,請詢問使用者,而非擅自選邊站。
- 從對話、規格或工單中提取候選術語。針對每個術語,提議它是新術語、現有術語,還是現有術語的同義詞,並請使用者確認。兩個看起來相似的詞可能是不同的概念。
-
與使用者釐清歧義。提出簡短、具體的問題: