เรื่องของรูปแบบ code และ naming convention เป็นสิ่งที่สำคัญมาก ๆ
โดยในภาษา Go นั้นไม่ได้มีกฏเรื่องนี้มากนัก
แต่ก็ได้สร้างเครื่องมือมาตรฐานสำหรับการจัดการมาให้
นั่นก็คือ gofmt

ซึ่งนักพัฒนาภาษา Go น่าจะใช้กันทุกคน
ไม่ว่าจะพิมพ์เอง
ไม่ว่าจะให้ทำงานแบบอัตโมัติ หรือ ทำงานผ่าน Editor/IDE ต่าง ๆ
เช่นทำการจัดรูปแบบ code ให้เมื่อทำการบันทึกเป็นต้น
ผลที่ตามมาคือ
รูปแบบของ code เหมือนกัน ไม่ต้องมาเถียงกัน
และยังทำให้ code อ่านง่ายขึ้นอีกด้วย

$gofmt -w file.go
$gofmt -w target_folder

คำอธิบาย

  • -w ทำการแก้ไขและเขียนทับไปเลย
  • -d แสดงสิ่งที่แตกต่างระหว่างก่อนและหลังการใช้งาน

สิ่งที่ยังขาดไปคือ เรื่องของ naming convention

นั่นคือการตั้งชื่อทั้ง variable, constant, function, struct และ interface
ซึ่งก็มีเครื่องมือชื่อว่า golint มาให้ใช้งาน
จะแสดงว่า รูปแบบที่เราเขียนนั้นผิดตรงไหนบ้าง ซึ่งไม่มีใน gofmt
น่าจะทำให้ code ของทีมไปในทิศทางเดียวกันทั้งหมด
ที่สำคัญสามารถทำงานร่วมกับ Editor/IDE ทั่วไปได้เลย

Golint นั้นเป็นเครื่องมือที่ทำการตรวจสอบด้วยกฏต่าง ๆ จาก

มันคือแหล่งเรียนรู้ที่ดีมาก ๆ

มาลองใช้งานกันดู
ติดตั้งผ่าน go get

$go get -u golang.org/x/lint/golint

มี code ตัวอย่างง่าย ๆ ลองเดาดูสิว่า golint จะด่าอะไรบ้าง ?

ผลที่ได้จาก golint เป็นดังนี้

คำอธิบายเพิ่มเติม
ชื่อ function ขึ้นด้วยตัวใหญ่คือ เราตั้งใจให้เป็น public หรือให้ file อื่นที่อยู่ต่าง package ใช้งานได้
ดังนั้นสิ่งที่ควรต้องทำคือ การเขียน comment เพื่ออธิบายนั่นเอง

จากนั้นก็แก้ไขซะ ให้เป็นไปตามรูปแบบของตัวภาษา
เพียงเท่านี้การเขียน code ก็สนุกขึ้นอีกเยอะเลย

วันนี้ใช้งาน gofmt และ golint กันหรือยัง ?