ユビキタス言語と命名について
ref: Ubiquitous Language and Naming · Enterprise Craftsmanship
- コードで表現されるモノには以下の2種類がある
- ビジネス上意味のあるモノ(ドメインエキスパートが話す言葉)
- ビジネス上意味のないモノ(プログラマだけが話す言葉)
- ビジネス上意味のあるモノにはユビキタス言語を使用する
- Weasel Word(ふわっとしていて明確でない言葉)は排除する
- ItemEntity → Item extends Entityとすることでクラス名が明確になる(そもそもItemって命名が…と言う話はなし)
- ビジネス上意味のないモノには Weasel Word を使ってもいいけど端的に表現する
- EntityやRepository、Serviceなどはビジネス上意味のないモノ
- ItemRepository、ItemServiceのような命名はOKだけどなるべく使わない