Go CodeReviewCommentsのまとめ

Go公式のCodeReviewCommentsからコードレビューのベストプラクティスを厳選し、レシーバー型・エラーハンドリング・メモリ効率について解説。

Read in: en
Go CodeReviewCommentsのまとめ

概要

github.com - CodeReviewCommentsを読んでメモしておきたいことをまとめる。

Comment Sentences

Copying

Crypt Rand

Declaring Empty Slices

// 長さ0のスライス
t := []string{}

よりも、

// nilのスライス
var t []string

のほうを使うようにする。

JSONオブジェクトのエンコード時、nilnullに変換されるが、[]string{}[]に変換される。

インターフェース設計では両者を区別しないほうがよい。分かりづらいミスを誘発する可能性があるため。

Don't Panic

Goroutine Lifetimes

Import Blank

Import Dot

package foo_test

import (
    "bar/testutil" // fooでもimportされている
    . "foo" // foo_testをfooの一部のように見せる
)

Named Result Parameters

Naked Returns

Receiver Type

メソッドのレシーバをポインタにするか、値にするかの基準。 迷う場合はポインタにしておく。

ポインタを避けるケース

ポインタにするケース

Useful Test Failures

テストが失敗したときに伝えるべきメッセージ。

# 参考

Tags: Golang コードレビュー
Share: 𝕏 Post Facebook Hatena
✏️ View source / Discuss on GitHub
☕ サポート

このブログを応援していただける方は、以下からサポートをお願いします。いただいたサポートはブログ運営・技術研鑽に活用します。


関連記事