golintを通るように変更してみた #golang
少し前になりますがGunosyさんで行われた↓なgolangの勉強会 #gunosygo に参加
初めての参加でしたが、テーマがNotHttpNightということでバラエティに富んだ発表が聞けて非常に刺激と参考になりました。
その中で↓なLTがあり、その時のTLを見てみるとやはりみなさんgolintを通している模様・・・
せっかくちょっと前に↓なツールを作ってみてたので、実際にgolintで怒られないように変更をしてみました。
まず、一番多かったのは
logger.go:16:7: don't use underscores in Go names; const file_name_text should be fileNameText
アンダースコアを使ってる変数を直せという指示。これは個人的にスネークケースで書く方が好きなので至るところで出ていて、正直結構面倒な作業でした・・・そしてあまり好きじゃないキャメルケースに変更なのですね。
アンダースコアだめなのは、「ブランク識別子」として利用するかなのかなぁ?
その次はコメントが無い、もしくは指定の形式になっていないというもの
config.go:14:6: exported type Config should have comment or be unexported
これも公開しているものには変数・関数・構造体 ・・・etcであれ決まったフォーマットでコメントを付ける必要があるので結構な作業でした。
あとはちょっと変わっていたのは、特定の文字列で大文字を指定されることがありました。↓な感じでJSONとかIDとか。
このあたりの理由とかもきになりますし、 #gunosygo のLTにあるようにソース読んでみるといろいろわかって面白そうですねー
しかしひたすらgolint→置換→test→(最初に戻る)を繰り返してたな・・・