Quantcast
Channel: cc :: somkiat
Viewing all articles
Browse latest Browse all 1997

ลองใช้งาน Golang CI Lint เพื่อปรับปรุงคุณภาพของ code

$
0
0

อีกเรื่องที่น่าสนใจในการเขียน 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 เท่านั้น

[gist id="c3ba6cdd4e0296e30ca091830e4fd087" file=".golangci.yml"]

เพิ่มเติมคือ อยากให้ทำการคอยตรวจสอบทุกครั้งที่มีการเปลี่ยน code

ซึ่งจะใช้เครื่องมือเดียวกับ บทความเรื่องการทดสอบแบบอัตโนมัติ
สามารถเขียนได้ดังนี้

[gist id="c3ba6cdd4e0296e30ca091830e4fd087" file="run-lint.sh"]

จากนั้นทำการ run ไฟล์นี้ทิ้งไว้ 

ก็จะทำการแจ้งให้เรารู้ว่า code มีอะไรที่ผิดปกติบ้าง
ยกตัวอย่างเช่น ประกาศตัวแปรไว้ แต่ไม่ได้ใช้ ดังรูป

เท่านี้ก็ใช้งานได้แล้ว สบายขึ้นเยอะ


Viewing all articles
Browse latest Browse all 1997

Trending Articles