Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
GoのProposal を読むときにしていること
Search
tomato3713
February 26, 2024
Programming
0
12
GoのProposal を読むときにしていること
tomato3713
February 26, 2024
Tweet
Share
More Decks by tomato3713
See All by tomato3713
stefafafanさんに学んだアウトプット
tomato3713
1
110
イテレータを実装するときに 知っておくと良いこと
tomato3713
0
11
Other Decks in Programming
See All in Programming
#QiitaBash MCPのセキュリティ
ryosukedtomita
0
710
Code as Context 〜 1にコードで 2にリンタ 34がなくて 5にルール? 〜
yodakeisuke
0
120
Team operations that are not burdened by SRE
kazatohiei
1
290
『自分のデータだけ見せたい!』を叶える──Laravel × Casbin で複雑権限をスッキリ解きほぐす 25 分
akitotsukahara
1
600
Modern Angular with Signals and Signal Store:New Rules for Your Architecture @enterJS Advanced Angular Day 2025
manfredsteyer
PRO
0
170
Blazing Fast UI Development with Compose Hot Reload (droidcon New York 2025)
zsmb
1
280
#kanrk08 / 公開版 PicoRubyとマイコンでの自作トレーニング計測装置を用いたワークアウトの理想と現実
bash0c7
1
660
Hypervel - A Coroutine Framework for Laravel Artisans
albertcht
1
110
AWS CDKの推しポイント 〜CloudFormationと比較してみた〜
akihisaikeda
3
320
「Cursor/Devin全社導入の理想と現実」のその後
saitoryc
0
680
PHP 8.4の新機能「プロパティフック」から学ぶオブジェクト指向設計とリスコフの置換原則
kentaroutakeda
2
710
たった 1 枚の PHP ファイルで実装する MCP サーバ / MCP Server with Vanilla PHP
okashoi
1
220
Featured
See All Featured
Building Applications with DynamoDB
mza
95
6.5k
Documentation Writing (for coders)
carmenintech
72
4.9k
Designing for Performance
lara
609
69k
Speed Design
sergeychernyshev
32
1k
ピンチをチャンスに:未来をつくるプロダクトロードマップ #pmconf2020
aki_iinuma
124
52k
Code Reviewing Like a Champion
maltzj
524
40k
What’s in a name? Adding method to the madness
productmarketing
PRO
23
3.5k
How to train your dragon (web standard)
notwaldorf
94
6.1k
For a Future-Friendly Web
brad_frost
179
9.8k
Thoughts on Productivity
jonyablonski
69
4.7k
GitHub's CSS Performance
jonrohan
1031
460k
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
31
1.3k
Transcript
GoのProposal を読むときにしていること 株式会社はてな id: tomato3713
Q. Go の Proposal って何? A. Goの言語仕様や標準ライブラリ、コマンドなどのへの提案 Q. どこで管理されてる ?
A. GitHub の golang/go リポジトリの Issue
https://github.com/golang/go/issues/62244 実際の提案例
Q. あなたは誰 ? A. 趣味で Go の Proposal を読んでいる者です Q.
今日は何を話すの ? A. Proposalを読むときにしたこと、良かったことを話します
読むときのステップ 1. 提案の概要を理解する 2. コメントを 1個ずつ読む
1. 提案の概要を理解する Accepted なので追加予定なんだな どんな提案なんだろう ? 提案をした理由(メリット)ってなんだろう ? 既存のプロジェクトではどう対処している ?
cmd/go: add support for dealing with flaky tests であれば 提案
◦ 「cmd/go に Flaky Test が失敗したときに再実行して成功すればテスト全体を成功とする」機 能を追加する ◦ 具体的には、 Flaky Test であることをマークするメソッドや再実行回数を指定するコマンドのオプションを追 加する 先行事例 ◦ Tailscale プロジェクトにある go test ラッパーコマンド ◦ ビルドツールの Bazel にある flaky オプション
実際の概要を纏めたメモ
2.コメントを 1個ずつ読む • 必ずメモをとる ◦ 提案によってはかなり長いので過去の議論を忘れる • 何に焦点をあてたコメントなのかを意識する ◦ 割と好き勝手なコメントがある
◦ 並列して議論されることも • コメント時点での提案内容を理解する ◦ 議論によって当初の提案から内容が変わってしまっているこ ともある
コメントを読み進めているときのメモ 議論の節目っぽいコメントへのリンク コメントの翻訳、自分なりのまとめ
仕様提案を読んでみて良かったこと 1. 仕様がどんな過程で決まったのかがわかる 2. 追加される仕様によってどんなメリット、デメリットがあるのかを他 の却下された仕様と比較して理解できる 3. 言語の開発者の視点や考えがわかる
まとめ • 時間をかければ言語に詳しくなくても読んで理解できる • 面白いので読んだことがない人は一緒に読みましょう • flaky test のサポートを追加する提案について気になった方は ブログを読んでください
◦ Goのテスト安定性向上のために Flakyなテストを再試行する 機能を導入する提案