Skip to content

ZARD - Yet another YARDoc.

公開日:

に東京都港区六本木のイタンジ株式会社で開催された『Proposals on Rails 2026』でライトニングトーク(5分)として発表しました。

Download PDFPDF

スライドテキスト

Page 1

ZARD

Yet another YARDoc.

pixiv Inc.

USAMI Kenta

2026-10-08 Proposals on Rails 2026

イタンジ株式会社 #roppongirb

Page 2

お前誰よ

  • うさみけんた (@tadsan) / Zonu.EXE / にゃんだーすわん
  • ピクシブ株式会社 Platform Div > WebTechnology Team PHPer
  • 2012年末から現職、APIとかCIとかいろいろなところを見つめてきました
  • 最近チームが再編されてインフラっぽい仕事もしてます
  • Emacs PHP Modeを開発しています (2017年-)
  • プログラミング言語にちょっとこだわりのある素人 (spcamp2010)

Page 3

はじめましての方ははじめまして

Page 4

Page 5

Page 6

Page 7

Page 8

便利なので使ってください

Page 9

今回はその話ではない

Page 10

現代の生成AIは大規模言語モデル

Page 11

コーディングエージェントがいかに賢く振る舞っても確率からは逃れられない

Page 12

モデルが持っている常識

×プロジェクトの雰囲気

Page 13

水は低きに流れる

Page 14

AIは常識を振りかざす前例主義者

Page 15

何が言いたいか

Page 16

大規模言語モデル

Page 17

生成AIは言語であれこれ語りたがる

Page 18

コメントが多いプロジェクトは自然に雄弁になる

Page 19

プログラミング言語

自然言語

Page 20

コメントはコードで表現できない行間を補う機能

Page 21

パラメータ名で表現しきれない構造の評価

Page 22

歯止めを掛けないとAIはコードにポエムを書き散らす

ポエマーになる

Page 23

コードにはあくまで行間を書いてほしい

Page 24

Page 25

Page 26

Page 27

Page 28

Page 29

シンプル

型なし

Page 30

完全な散文よりも構造化形式で書いておきたい

Page 31

Rubyでは歴史的にいろんなフォーマットがあった

Page 32

RD

Page 33

RDoc

Page 34

Yay! A Ruby Documentation Tool

Page 35

rbs-inline (method)

Page 36

rbs-inline (Doc style)

Page 37

RubyMine

Page 38

Rigorの思想

Page 39

人間に冗長な型をわざわざ明記させない

Page 40

型推論してRBSを生成してガードレールにする

Page 41

必要以上に詳細に型を書かせない

Page 42

AIでちょんとセットアップすれば静的解析できる!

Page 43

Page 44

Page 45

Page 46

Page 47

Page 48

Rubyに型を書きたくないのにDocに型を書かされる

Page 49

ZARD

Yet another YARDoc.

pixiv Inc.

USAMI Kenta

2026-10-08 Proposals on Rails 2026

イタンジ株式会社 #roppongirb

Page 50

Page 51

型は @rbsまたは #: に書く

Page 52

型は @rbsまたは #: に書く

@param @returnにはコメントだけを書く

Page 53

型は @rbsまたは #: に書く

@param @returnにはコメントだけを書く

@extrbs という怪しい型も書ける

Page 54

なぜrbs-inlineに一本化できないのか

  • # @rbs は、あくまで型情報に -- でコメントを載せる記法
  • 主役は型だと認識している
  • #: はRBS系エコシステムだけでなくSorbetも読み取るので、

RBS仕様外の型情報を載せるのはあまりよくない

  • Pythonの型宣言も実行時に読み飛ばされるが、ツールごとの非互換に弱い
  • # @extrbs にRigorのRBS::Extendedをコメントに載せられる

Page 55

作り始めたばかりなので乞うご期待

Page 56

Page 57

Page 58