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
4
GoのProposal を読むときにしていること
tomato3713
February 26, 2024
Tweet
Share
More Decks by tomato3713
See All by tomato3713
イテレータを実装するときに 知っておくと良いこと
tomato3713
0
0
Other Decks in Programming
See All in Programming
Nurturing OpenJDK distribution: Eclipse Temurin Success History and plan
ivargrimstad
0
1.3k
イマのCSSでできる インタラクション最前線 + CSS最新情報
clockmaker
5
3.4k
PaaSとSaaSの境目で信頼性と開発速度を両立する 〜TROCCO®︎のこれまでとこれから〜
gtnao
5
3.6k
Jakarta EE meets AI
ivargrimstad
0
440
rails new flags - `rails new` のフラグから Rails を構成するコンポーネントの変遷をザックリ眺める
snaka
0
1.8k
DoctrineとPostgreSQLの便利な機能、どっちも諦めたくない!
77web
0
140
Reckoner における Datadog Browser Test の活用事例 / Datadog Browser Test at Reckoner
nomadblacky
0
120
Make Impossible States Impossibleを 意識してReactのPropsを設計しよう
ikumatadokoro
0
310
レガシーシステムにどう立ち向かうか 複雑さと理想と現実/vs-legacy
suzukihoge
15
2.3k
.NET Conf 2024の振り返り
tomokusaba
0
110
シェーダーで魅せるMapLibreの動的ラスタータイル
satoshi7190
1
490
初めてDefinitelyTypedにPRを出した話
syumai
0
450
Featured
See All Featured
Embracing the Ebb and Flow
colly
84
4.5k
The Straight Up "How To Draw Better" Workshop
denniskardys
232
140k
Testing 201, or: Great Expectations
jmmastey
38
7.1k
Faster Mobile Websites
deanohume
305
30k
What's new in Ruby 2.0
geeforr
343
31k
No one is an island. Learnings from fostering a developers community.
thoeni
19
3k
Stop Working from a Prison Cell
hatefulcrawdad
267
20k
XXLCSS - How to scale CSS and keep your sanity
sugarenia
246
1.3M
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
44
6.8k
Statistics for Hackers
jakevdp
796
220k
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
356
29k
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
232
17k
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なテストを再試行する 機能を導入する提案