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
Modern Angular with Signals and Signal Store:New Rules for Your Architecture @enterJS Advanced Angular Day 2025
manfredsteyer
PRO
0
270
React は次の10年を生き残れるか:3つのトレンドから考える
oukayuka
15
4.6k
The Modern View Layer Rails Deserves: A Vision For 2025 And Beyond @ RailsConf 2025, Philadelphia, PA
marcoroth
2
730
型で語るカタ
irof
0
700
AIエージェントはこう育てる - GitHub Copilot Agentとチームの共進化サイクル
koboriakira
0
760
High-Level Programming Languages in AI Era -Human Thought and Mind-
hayat01sh1da
PRO
0
880
AIと”コードの評価関数”を共有する / Share the "code evaluation function" with AI
euglena1215
1
180
初学者でも今すぐできる、Claude Codeの生産性を10倍上げるTips
s4yuba
16
13k
“いい感じ“な定量評価を求めて - Four Keysとアウトカムの間の探求 -
nealle
2
12k
『自分のデータだけ見せたい!』を叶える──Laravel × Casbin で複雑権限をスッキリ解きほぐす 25 分
akitotsukahara
2
660
Vibe Codingの幻想を超えて-生成AIを現場で使えるようにするまでの泥臭い話.ai
fumiyakume
10
4.6k
#QiitaBash MCPのセキュリティ
ryosukedtomita
1
1.5k
Featured
See All Featured
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
30
2.2k
A better future with KSS
kneath
238
17k
Bootstrapping a Software Product
garrettdimon
PRO
307
110k
Put a Button on it: Removing Barriers to Going Fast.
kastner
60
3.9k
Understanding Cognitive Biases in Performance Measurement
bluesmoon
29
1.8k
The Cost Of JavaScript in 2023
addyosmani
51
8.6k
Site-Speed That Sticks
csswizardry
10
700
Building Applications with DynamoDB
mza
95
6.5k
A designer walks into a library…
pauljervisheath
207
24k
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
194
16k
The MySQL Ecosystem @ GitHub 2015
samlambert
251
13k
Evolution of real-time – Irina Nazarova, EuRuKo, 2024
irinanazarova
8
830
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なテストを再試行する 機能を導入する提案