1.1 変数やパッケージ、メソッドなどに名前を付けるには

コードが何をしているのかを伝える上で、登場する変数、関数、構造体、パッケージ名に適切な名前をつけるのは大切なことです。プログラムを読み込んで処理するのはコンパイラーですが、プログラムを作成したりメンテナンスするのは人間だからです。

複数の変数があるときに、それぞれの役割がわかるというだけではなく、それが変数なのか、関数なのか、構造体なのか、パッケージなのか… それぞれの種類を判別しやすく名前をつけるのも重要なことです。また、ある変数がパブリック変数なのかローカル変数なのかを区別するためにどういう名前をつけるかなど、言語ごとに「良い名前」「推奨される名前」のつけ方には慣習があります。新しい言語を学ぶときには、単に文法を学ぶだけでなく、この慣習を学ぶことも大切です。

Goでは、命名についての公式見解があります。基本的にはEffective Go 1 に従うのがGoらしいコードだと言えます。ここではEffective Goをベースにしながら、Go Code Review Comments 2 や標準ライブラリなどで、Go がどのような命名をしているかについて紹介します。

1

https://golang.org/doc/effective_go.html

2

https://github.com/golang/go/wiki/CodeReviewComments

1.1.1 変数名

変数名が複数の単語で構成されるとき、Goでは _ (アンダースコア)を使用せずMixedCapsとする慣習となっています。したがって max_length ではなく maxLength と名づけます。また他のパッケージから参照できる公開された変数は、変数名の先頭を大文字とする仕様になっています。最初の文字が小文字から始まる場合は非公開の変数です。よって ...