Diese Präsentation wurde erfolgreich gemeldet.
Wir verwenden Ihre LinkedIn Profilangaben und Informationen zu Ihren Aktivitäten, um Anzeigen zu personalisieren und Ihnen relevantere Inhalte anzuzeigen. Sie können Ihre Anzeigeneinstellungen jederzeit ändern.

[20170530] ubiquitous language

24 Aufrufe

Veröffentlicht am

@ NIFTY LT

Veröffentlicht in: Ingenieurwesen
  • Als Erste(r) kommentieren

  • Gehören Sie zu den Ersten, denen das gefällt!

[20170530] ubiquitous language

  1. 1. How to Use Ubiquitous Language 2017-05-30 Yuta Suzuki
  2. 2. Goal • ユビキタス言語について知って欲しい - ユビキタス言語とは - 何が嬉しいのか - やっていく気持ち
  3. 3. What is Ubiquitous Language ユビキタス言語とは、Eric Evansが『Domain Driven Design』において、 開発者とユーザーとの間で共通の厳格な意味を持つ用語を構築するという プラクティスを表すために使用した用語である。 ユビキタス言語はソフトウェアにおけるドメインモデルに基づいている。 ソフトウェアは曖昧さをうまく扱うことができないため、厳格さが必要となる のである。 Evansは、ドメイン専門家との会話においてユビキタス言語を使用することが、 ユビキタス言語およびドメインモデルを検証できる重要な部分であると 明言している。また彼は、ユビキタス言語(およびドメインモデル)は、 ドメインが大きくなるにつれて進化していかなければいけないとも述べている。 http://bliki-ja.github.io/UbiquitousLanguage/
  4. 4. What is Ubiquitous Language 要するに
  5. 5. What is Ubiquitous Language • メンバ間で共通する、意味が一意に定まる用語 • 不適切要素を除外し、ドメインに集中させる道具 • コミュニケーションをより正確・迅速にする
  6. 6. Example Without Ubiquitous Language • ユビキタス言語がないとこうなる 営業「このシステム、クライアントに結果を返してよ (結果をメールしてよ)」 開発「了解(レスポンスに完了情報を含めればいいんだな)」
  7. 7. Example Without Ubiquitous Language • ユビキタス言語がないとこうなる 営業「このシステム、クライアントに結果を返してよ (結果をメールしてよ)」 開発「了解(レスポンスに完了情報を含めればいいんだな)」 ↓ - クライアントの意味のずれ - 営業のクライアント = 顧客 - 開発のクライアント = サーバに対するクライアント
  8. 8. For Example • ちゃんと定義してほしい用語 - Model(ORM のModel なのかとかとか) - Get(REST のGET なのかとかとか) - ID(何のID なのか)
  9. 9. Example Without Ubiquitous Language • つらい会話 ぼく「この処理でModelを作るよ」 同僚「まって、それは何のModel ?」
  10. 10. Example Without Ubiquitous Language • つらい会話 ぼく「この処理でModelを作るよ」 同僚「まって、それは何のModel ?」 ↓ - 学習モデルの意味で言った - ORM のモデルかと誤解するかもしれない - ORM のモデルはRecord とすることにした
  11. 11. Summery • 全員が正しく理解できる用語を使おう - 意味が正しく伝わる名前(リーダブルコードにも通じる) - 用語が重複するものは正しく区別して命名しよう • 部/チームで用語を統一していこう - コミュニケーションの誤解がなくなる - 自分たちだけにしか伝わらない言葉をやめる

×