---
# System prepended metadata

title: 2021-06-03 第16回メンターセッション
tags: [Team-2]

---

# 2021-06-03 第16回メンターセッション

## 項目

### optional と | null について
- 公式ドキュメント
    - 特に言及されていなかった
- optional
    - ビルド時に省略しても良い
    - 書かなくても良い時に null と書かなくてはならないため
- | null
    - ランタイムで実行するまでnullが分からない時は null
    - undefinedではなくnullでなければならない（ORマッパーによっては挙動が変わることもある）

### ユースケースとドメインサービスの境界について
- ユースケースが肥大化してきた -> ドメインサービスに切り出す（凝集度が高くなる）
- ドメインの知識は必ずドメインサービス（当たり前）
- 順番を知っているのはユースケースとするべき
    - ドメインサービス同士が呼ばれる順番に依存してはならない
- エラーが起きた時にどういった動きをするかはドメインサービスが知ってはならない

### アサーションルーレットについて
- 該当する
    - 回避するには`jest-each`がおすすめ
- 配列内のオブジェクト全てにチェックする必要はない（forEachのテストにもなってしまう） 

### 実務でvercelを使ったこと（もしくは検討したこと）はありますでしょうか？
- まだない
- AWSやherokuが多い？
- vercelは高い（2000円/人）

### プラハでのコンポーネント設計はどのように行っているのか教えていただきたいです
- next.jsに沿って作ることが多い
- componentsはatomicデザインに沿っている
    - StoryBookを作る

### componentsを作る際、フレームワークが用意している機能に依存しても問題ないでしょうか？
- 外部フレームワークに依存したものをラッピングして作っている部分はある
- 依存するならatomsやmoleculesの末端の部分のみとするのが良い
    - 差し替えが楽になる

###### tags: `Team-2`
