Go言語 constに関する一つの提案
既に実践されているのかもしれないけど、それでもあまり見かけないのでちょっと言ってみる。
constに日本語を使う
Goでは識別子は駱駝形式が推奨されてるけど、定数も駱駝にすると(私の感覚だと)パッと見、変数と区別がつかなくて非常に嫌です。
だからと言って C言語でやってたように全大文字にするのは、ちょっと後ろ指さされそうだが、どうせやるなら、いっそのこと日本語にしてしまえば、意味も明瞭、形からも何者であるかわかっていいと思う。コメントも不要になるし。
const (
朝顔 = iota
ヒマワリ
コスモス
桔梗
)
if flowerId == 朝顔 {
...
}
勿論、たとえば「必須パターン」ではなく「必須Ptn」のように外国語やその略語と組み合わせるのも、読みやすく・短くなっていい。
・・・と考えていたら、弱点ありました(下記コメント)。
エクスポートするためには、先頭に全角あるいは半角の英大文字をつける必要があるのでご注意!
なんでもかんでも日本語にするのは、意味ばかりに意識がいったり記述が大変だったりで、記号的な側面がもつ利点が薄れてマイナスと思うけど、Const程度を日本語にするのは、プログラミングするにはちょうどいいのじゃなかろうか。
余談だが、プログラミングではなく他人の書いたプログラムをメンテする時には、例えば関数名を "f日本語で意味()"みたいに変えてしまうのはありだと思う・・・私は昔、実際にそうやって、他人の書いた訳の分からん、縦にも横にもやたらと長いソースを変換して理解の一助としていたことがある。