Slide 1

Slide 1 text

型 語 関 '25 7 月 度 @irof

Slide 2

Slide 2 text

前置  2

Slide 3

Slide 3 text

型 話 型 話 正直 思 役 立 型 言 言 葉 自 体 広 意味 持 焦点 合  3

Slide 4

Slide 4 text

型 話 型 扱 型 型 各部分 計算 値 種類 分類 種 振 舞 起 保証 計算量的 扱 構文 的 手 法 -- TaPL 型 話 型 前提 多 型 勢 人 ձ話 際 必ਢ知識  4

Slide 5

Slide 5 text

型 is ... 軽量 形式 手 法 振 舞 制御 制約 前提 機能 型 活用 言 語機能 言 語 機能 使 型 創 型設計  5

Slide 6

Slide 6 text

Kata 武道 CodeKata 開発文脈 使 最ۙ 聞 型 活用 見 方 ײ 1 ≒  6

Slide 7

Slide 7 text

型 検出 抽象Խ Խ 言 語 安全性 効率性  7

Slide 8

Slide 8 text

7原則 型 全数 不可能 型 制約 範囲 全数 可能 可能 範囲 少 広 早期 時間 節約 型 検査 時 実装後 動作検証 早期 確実 行  8

Slide 9

Slide 9 text

型 語  9

Slide 10

Slide 10 text

型 語 զʑ 語 手 段 語 際 型 使 ײ 話 型 扱 型 限 広ٛ 型 話 ؚ  10

Slide 11

Slide 11 text

語 相 手 向 語 人 向 語 本 主 話  11

Slide 12

Slide 12 text

語 Java標準 1 var ... 設計 1 関連 名前 ...  12

Slide 13

Slide 13 text

1  13 Grok 突 込 作 画像

Slide 14

Slide 14 text

1  14

Slide 15

Slide 15 text

1 語 人 向 : null 入 否 向 : 効率性 …… 語 ʁ  15

Slide 16

Slide 16 text

1 語 null 入 否 1 語 微妙 ׳習的 読 取 得 語 読 取 場合 int -> Integer OptionalInt 使 明 示 的 聞 型 語 双方׳ 導入 悩  16

Slide 17

Slide 17 text

null 話 Optional 話 飛 被 省略  17

Slide 18

Slide 18 text

 18

Slide 19

Slide 19 text

 19 https://docs.oracle.com/javase/jp/21/core/creating-sequenced-collections-sets-and-maps.html

Slide 20

Slide 20 text

語  20 Collection: 集合 Set: 重複 List: 順序 詳 CollectionsFramework Javadoc読

Slide 21

Slide 21 text

語  21 集合 常 順序 重複ڐ容 期待 List 十 分 多 私 …… 順序未定ٛ List 使 避 Կ順 ʁ 探 未定ٛ Set List Collection 使

Slide 22

Slide 22 text

参考: JIG ADR  22 https://github.com/dddjava/jig/blob/main/docs/adr/collections-usage.md 一般的 自 分 思 規則 形式Խ

Slide 23

Slide 23 text

発展: Java 限 標準 集合 語 使 扱 要素 語 程度 歴史的経緯 実 行 時例外 操作 静的型検査 機能 操作 限定 集合ԋ算 追Ճ 対 興味 持 語  23

Slide 24

Slide 24 text

語 要素数0以上 以上 重要 使 側 要素 関 興味 要素選択 要素 一 一 興味 特定 条件 満 1 要素 興味 or 要素 集合 興味 要素 興味 設計 …… 他 色 ʑ  24

Slide 25

Slide 25 text

共通 EventId 対 EventIds 作 文脈 異 AllEventIds FutureEventIds 色 ʑ作 片方 統一  25

Slide 26

Slide 26 text

var  26

Slide 27

Slide 27 text

var 変数 変数型 書 勝 手 解決 仕組  27

Slide 28

Slide 28 text

var 語 変数 型 興味 右辺 十 分語 変数名 十 分語 本当 知 必要  28

Slide 29

Slide 29 text

var  29 同 var ArrayList 私 思想 行 左側 一等地 上 選 最ۙArrayList new 自 体 見

Slide 30

Slide 30 text

右辺 var  30

Slide 31

Slide 31 text

右辺 var  31

Slide 32

Slide 32 text

var 書 ʁ var jshell 普段 IDE *常 右辺 変数宣 言 生 成 * ק 際 var IDE 設定  32

Slide 33

Slide 33 text

var 語 var 削減 技術 同時 有用 情報量 削減 注意 強制 型情報 lambda 宣 言 右辺 場 合 表現 右辺 型 示 変数名 右辺 型 示 型 知 必要 扱  33

Slide 34

Slide 34 text

enum, sealed 他 被 思 省略 switch 抜ṅ switch使 新 追Ճ 既存 Ԇ長 Optional 系 扱 型 活用 余白 書 ڱ  34

Slide 35

Slide 35 text

1  35

Slide 36

Slide 36 text

1 語 不変 型 示 動的 状態 相 手 動作 予測可能性 向 上 予想外 動作 不具合 減 変更 実務的 実質的 1 十 分 完全 1  36

Slide 37

Slide 37 text

 37

Slide 38

Slide 38 text

語 値 取 範囲 ۀ務 扱 数値 int 大抵 場合 過剰 場合 21ԯ 扱 場合 short 話 Always-Valid domain model 1  38

Slide 39

Slide 39 text

関連  39

Slide 40

Slide 40 text

関連 語 扱 間 関連 型 語 型 関連 関連 方向 語  40

Slide 41

Slide 41 text

関連 語 出ՙ 受注 作 出ՙ static 出ՙ from(受注) 受注 出ՙ 変換 受注 to出ՙ() 受注 出ՙ 無関係 …… 型 関連 語  41

Slide 42

Slide 42 text

実務 関連 語 ؚ 型 関連 語 細ʑ 全体 語 ڑ離 程度固 関連 語 良 JIG 使  42 https://github.com/dddjava/jig

Slide 43

Slide 43 text

名前  43

Slide 44

Slide 44 text

名前 型 語 上 名前 大事 命名 設計 名前 㚽 語 名前 一発 命名 技術 身  44

Slide 45

Slide 45 text

紹介: Naming as a Process  45 https://www.digdeeproots.com/articles/naming-process/ 1 話 大体書 読 ໯

Slide 46

Slide 46 text

 46

Slide 47

Slide 47 text

型  47