Slide 1

Slide 1 text

Go Review Comment を翻訳した話 Golang Tokyo #6 鎌田健史 ( @knsh14 )

Slide 2

Slide 2 text

自己紹介 ● 鎌田健史 ● @knsh14 ● KLab 株式会社 エンジニア ○ Unity でプロト作ったりツール作った り ○ Javascript でゲーム作ったり ● Go 歴2年位

Slide 3

Slide 3 text

今日の要旨 ● みんな Go Code Review Commentsを読もう! ○ 転ばぬ先の杖を持とう ○ 読んだら次は Effective Goへ! ● みなさんも翻訳してみて欲しい! ○ 勉強の効率めっちゃいい

Slide 4

Slide 4 text

Go Code Review Commentsとは? https://github.com/golang/go/wiki/CodeReviewComments ● コードレビューする際にまずは見るべき箇所をまとめたもの ● Effective Go を更に簡単にしたもの ○ Go 版リーダブルコード ● ありがちな話をまとめたもので、スタイルガイドではない ○ 必ずしも従う必要もないし無理する必要はない

Slide 5

Slide 5 text

で翻訳を書きました http://qiita.com/knsh14/items/8b73b31822c109d4c497 ● それなりに原文に忠実に訳したつもり ○ 一部英語力の問題で意味不明な部分もある ● なるべく原文に追従する努力 ○ 3月くらいに見直したら更新されてたので慌てて追記 ○ Context の項もあるよ!

Slide 6

Slide 6 text

翻訳を書くきっかけ とある社内ツールを Go で書いて レビューお願いしたところ ボッコボコのフルボッコにされる

Slide 7

Slide 7 text

翻訳を書くきっかけ その時に渡されたのが Code Review Comments だった とりあえず読んだ証拠に自分で翻訳してみることに 3日くらいで全部訳しきった tenntenn に一通り読んでもらって手直ししたあと公開

Slide 8

Slide 8 text

翻訳してみてよかった ● 業務でガリガリ書いているわけじゃないので、初学者の僕に とってはこういういきなり正解のパターンを勉強できるのは効 率が良かった ● 自分で言葉に書き起こす分脳みそを使う ● 英語の勉強にもなったので他の英語書籍に挑戦するハードル も下がった

Slide 9

Slide 9 text

もうちょっと中身を詳しく

Slide 10

Slide 10 text

幾つかのカテゴリに分けられる ● コードの見た目を改善 ○ Gofmt, Mixed Caps… ● コメント、文章の体裁 ○ Comment Sentences, Error String... ● tips 系 ○ Declaring Empty Slices, Named Result Parameters... ● 設計の指針 ○ Receiver Type, Don’t Panic...

Slide 11

Slide 11 text

コードの見た目を改善 大体はツールでなんとかしようぜな話 gofmt, goimports, golint あたりを使っておけばまず大丈夫 特に golint はめちゃくちゃ優秀

Slide 12

Slide 12 text

コメントや文章の体裁 コード内の文章の書き方などに関するアドバイス 「説明するものの名前で始めてピリオドで終わりましょう」なんてい うかなり具体的な説明もある 特に Error String で紹介されている「エラーで返すときの文字列 は大文字始まりにしない」はかなり意外だった

Slide 13

Slide 13 text

tips 系 Declaring Empty Slices や、Named Result Parameters など 間違いではないけどよりよい方法を紹介してくれるパターン var t []string と t := []string{} の使い分けは意識して書かないと 結構やらかしてることが多そう

Slide 14

Slide 14 text

設計の指針になるようなもの Receiver Type はぜひ一度読んでみてほしい レシーバーを ポインタにするかどうか迷ったときの指標になる 基本的にはポインタで問題ないけれど、幾つかのパターンにハマ るときはそうでないほうがいい時もある

Slide 15

Slide 15 text

最後に ● 良いドキュメントの翻訳はめっちゃ勉強になるので積極的に やっていきたい ● Code Review Comment はぜひ皆さん目を通して欲しい! ○ そのために日本語で訳したので