Programming: General Technique: Use Linter

 10th November 2022 at 4:56pm

写代码时,一定要使用 linter。

现代编程语言的特性过于丰富,设计上做不到纯粹和最优,总是有很多办法写出有问题的 bug。Linter 会对代码中不好的写法做提示和警告。比如这个代码(来自 这里):

var wg sync.WaitGroup
for i := 0; i < 5; i++ {
	go func() {
		wg.Add(1)

		// do something...
		wg.Done()
	}()
}

wg.Wait()

linter 会告诉你 wg.Add(1) 不应该放在协程内,因为会引发 data races。但人眼可能没法马上分辨出来。

好的 linter 就是在教你写代码。