อีกเรื่องที่น่าสนใจในการเขียน code ด้วยภาษา Go คือ Static Code Analysis
ซึ่งมีเครื่องมือให้ใช้เพียบเลย
แต่มีอีกตัวที่เพิ่มเห็นเลยขอลองสักหน่อย
นั่นคือ Golang CI Lint
การใช้งานก็ไม่ยาก
ทำการติดตั้งดังนี้ ซึ่งผมใช้งานบน Mac OS
[code] $brew install golangci/tap/golangci-lint $brew upgrade golangci/tap/golangci-lint $golangci-lint version [/code]โดยปกติแล้ว Golang CI Lint จะทำการตรวจสอบ
สิ่งต่าง ๆ เหล่านี้ให้เลย
- govet
- errcheck
- staticcheck
- unused
- gosimple
- structcheck
- varcheck
- ineffassign
- deadcode
- typecheck
แต่เราสามารถเปลี่ยนแปลงตามที่ต้องการได้ผ่านไฟล์ชื่อว่า .golangci.yml
ยกตัวอย่างเช่น เปิดเฉพาะ golint เท่านั้น
เพิ่มเติมคือ อยากให้ทำการคอยตรวจสอบทุกครั้งที่มีการเปลี่ยน code
ซึ่งจะใช้เครื่องมือเดียวกับ บทความเรื่องการทดสอบแบบอัตโนมัติ
สามารถเขียนได้ดังนี้
จากนั้นทำการ run ไฟล์นี้ทิ้งไว้
ก็จะทำการแจ้งให้เรารู้ว่า code มีอะไรที่ผิดปกติบ้าง
ยกตัวอย่างเช่น ประกาศตัวแปรไว้ แต่ไม่ได้ใช้ ดังรูป
เท่านี้ก็ใช้งานได้แล้ว สบายขึ้นเยอะ