Goを「書けるようになった」と実感したとき
Goを書けるようになったと実感したきっかけは複数あるが、大きな要素としては以下の2つがある。
- パッケージ名と型名(関数名)で繋げて自然に読めるような名前付けを意識したとき
- Goでよく使うインターフェイスを満たすよう意識を向けられたとき
初期のGoが目指したもので言われているように、言語としてはBetter C程度しかないけれど、インターフェイスだけは個性的だった。
自分の書くコードの適切な場面で io.ReaderFrom や fmt.Formatter, transform.Transformer に意識を向けておくと「なんかそれっぽい」APIインターフェイスになっていることが多い。加えてテストも書きやすくなる(と思っている)し、サードパーティライブラリも含めて標準インターフェイスを要求するものは多いので、使い勝手も良くなる傾向がある。
最近は型パラメータや標準イテレータも入ったので、インターフェイスの重要性も以前ほどではないけれど、今でもまだ標準インターフェイスに寄せられると使い勝手の良いデザインになって「うまくできた」を実感できるのではないか。