This skill should be used when the user asks to "ユビキタス言語を定義する", "用語集を作成する", "ドメイン用語を整理する", "用語の一貫性をチェックする", "ubiquitous languageを管理する", "ドメインの言葉を統一する", "用語の命名をレビューする", "英語名を決める", "用語を翻訳する", or mentions ユビキタス言語、用語集、ドメイン用語、bounded context の言葉の定義。 DDD におけるユビキタス言語の定義・管理・一貫性チェック・用語集ファイル生成を支援する。
DDD の基盤であるユビキタス言語の定義・管理・一貫性チェックを行い、用語集ファイルを生成・維持する。
ドメインエキスパートと開発者が共有する共通言語である。コード、ドキュメント、会話のすべてで同じ用語を使うことで、認識のズレを防ぐ。
重要原則:
プロジェクトルートに docs/ubiquitous-language.md を生成・管理する。
# ユビキタス言語 用語集
## コンテキスト: [コンテキスト名]
| 用語 | 英語名 | 定義 | 例 | 注意事項 |
|------|--------|------|-----|---------|
| 注文 | Order | 顧客が商品を購入する意思表示を表す集約 | 「注文を確定する」 | 「発注」「オーダー」は使わない |
コードベース内の命名が用語集と一致しているか検証する。
チェック項目:
検出すべき問題パターン:
| パターン | 例 | 対処 |
|---|---|---|
| 同義語の混在 | Customer と Client が混在 | 1つに統一する |
| 技術用語の侵入 | ドメイン層に DTO, Record | ドメイン用語に置き換える |
| 略語の不統一 | Qty と Quantity の混在 | 正式名称に統一する |
| コンテキスト違反 | 別コンテキストの用語を使用 | 当該コンテキストの用語に修正する |
新しい用語を定義する際は、以下の質問で用語を明確化する。
同じ現実世界の概念が異なるコンテキストで異なる用語を持つ場合、マッピング表を作成する。
## コンテキスト間 用語マッピング
| 現実の概念 | 販売コンテキスト | 配送コンテキスト | 会計コンテキスト |
|-----------|----------------|----------------|----------------|
| 商品 | Product | Parcel | LineItem |
| 顧客 | Customer | Recipient | Account |
良い用語定義の条件:
examples/ ディレクトリに用語集管理の具体例がある:
examples/glossary-example.md — 用語集ファイルのサンプル