Upgrade to PRO for Only $50/Year—Limited-Time Offer! 🔥

linter for your team rule

mizkei
November 09, 2018

linter for your team rule

mizkei

November 09, 2018
Tweet

More Decks by mizkei

Other Decks in Programming

Transcript

  1. 目次 • 自己玹介 • golint • チヌムで取り入れたいルヌル • テストのために取り入れたいルヌル •

    パッケヌゞの圹割を分けるために取り入れたいルヌル • ルヌルをチヌムで共有する方法 • ルヌル衚珟のために䜜成したツヌル「self-lint」 • たずめ
  2. 自己玹介 • 名前 ◩ 氎野 敬倪 • github ◩ mizkei

    • twitter ◩ @mizkei11 • 仕事 ◩ Backend/マむクロサヌビス開発
  3. golintによるコヌディングスタむルの指摘 • Effective Go や Go Code Review Comments に基づいた指摘

    ◩ 䞍芁なelse ◩ コメントのフォヌマット ◩ context.WithValueのkeyの型 ◩ 倉数・パッケヌゞ名 ◩ import Dot ◩ main以倖でのblank import ◩ ...
  4. 特定パッケヌゞのimport制限 • Assertなどを提䟛する倖郚パッケヌゞ ◩ Why does Go not have assertions?

    • プロゞェクトにおけるテスト甚パッケヌゞ ◩ e.g. githoge.com/project/root/test ◩ テスト甚のデヌタを甚意するための䟿利メ゜ッド矀 ▪ 耇数パッケヌゞのテストで参照されるために䞀぀のパッケヌゞずしお䜜成
  5. self-lint • https://github.com/mizkei/self-lint • チヌムでの犁止事項(ロヌカルルヌル)をチェックするためのツヌル ◩ 特定importのチェック ◩ 特定packageのメ゜ッドや倉数ぞの参照 ◩

    panicなどのbuiltin functionの䜿甚 • CIを利甚した自動チェック ◩ golintず同じ出力圢匏であるため、reviewdogが食べおくれる
  6. self-lintの蚭定 • target ◩ 察象のパッケヌゞ ▪ globalは党おのパッケヌゞ • import ◩

    犁止したいパッケヌゞを曞く • ref ◩ 犁止したいパッケヌゞの倀を曞く • write ◩ 犁止したいbuiltin functionを曞く ▪ panic, if, switch, or for