GoでGoの雛型コードを自動生成できるようにしてみた

はじめに

仕事ではもっぱらGoを書いてて、同じようなコードを結構毎回書いたりしてるのがストレスになってる人向けの記事です。

GoでGoの雛型コードを自動生成できるライブラリ dave/jennifer を使ってコマンド経由で楽に生成できるようにしてみました。

github.com

作ったもの

github.com

使い方としては以下のようにmake経由で作成したいコードのtypeとnameを指定すれば自動的に雛型が生成されます。

make code-gen type=model name=UserProfile

ちなみに↑のコマンドで生成されるのは以下のようなモデルです。

package model

type UserProfile struct{}

作った背景

仕事でGoを使っているんですが、どうしても同じようなコードを毎回手で書く辛さを感じてました。 またRailsとかLaravelではコマンド経由で大まかなコードを自動生成できますが、仕事では特にそういった自動生成できる環境ではなかったので愚直にコードを書いており、微妙な印象もありました。

それに手書きで書いてるとちょっとしたスペルミスとかもあったりしてビルドが通らず、開発体験が良くないなとも感じてました。

そこで、何かコードを自動生成できるライブラリとかないかなと探していたところ dave/jennifer を見つけたので試しに作ってみた感じです。

今後

とりあえず簡単にコードの雛型は生成できるようになったので、仕事でもつかえるようにパスや諸々の修正とかしてみようかと思います。