美しい Go の設計とコードを目指して

Step 1. コードの書き方を学ぶ

コードレビューする際に気をつけるポイントをまとめた CodeReview Comments。 他の言語とは違っている Go 特有の事例をたくさん載せてくれている。 原文は英語だけど、日本語訳もある。

golang/go CodeReviewComments 日本語翻訳 · GitHub

Go らしいコードの書き方を知りたいなら、Go 公式のコードを読むのが一番良い。オープンソースなのは良いこと。

GitHub - golang/go: The Go programming language

Step 2. Go らしい API 設計について学ぶ

エラー処理は、他の言語とは異なっていて、Go特有の考え方が多い。よってちゃんと学んでおかないとエラーが起きたときに適切に handling できておらず、苦しむことになる。

Golangのエラー処理とpkg/errors | SOTA

Go らしい API とはどのようなものか? 次の資料などで具体例込みで見ると理解しやすい。

GoらしいAPIを求める旅路 (Go Conference 2018 Spring)

また、インタフェースは Java などの有名な言語の Interface とは少し勝手が異なる。ここも複雑だがちゃんと勉強する。とにかく、標準パッケージのインタフェースの使い方を真似するように心がける。

インタフェースの実装パターン #golang

Step 3. Go らしいパッケージ設計について学ぶ

個々の API をデザインできるようになってきたら、次はさらに大きな枠であるパッケージについて学ぶ。

Goでクリーンアーキテクチャを試す | POSTD