| ภาพรวม | คู่มือหลัก | การตัดสินใจ | แนวทางปฏิบัติที่ดีที่สุด |
คู่มือสไตล์ Go (Go Style Guide) และเอกสารประกอบเหล่านี้ได้รวบรวมแนวทางปฏิบัติที่ดีที่สุดในปัจจุบัน เพื่อการเขียนโค้ด Go ให้ “อ่านง่าย” และ “ถูกต้องตามสำนวนภาษา (Idiomatic)” การปฏิบัติตามคู่มือนี้ไม่ได้บังคับแบบตายตัวและไม่ได้ครอบคลุมทุกเรื่อง แต่มีเจตนาเพื่อลดการคาดเดาในการเขียนโค้ด และช่วยให้ผู้เริ่มต้นหลีกเลี่ยงข้อผิดพลาดทั่วไปได้ นอกจากนี้ยังช่วยให้มาตรฐานการรีวิวโค้ด Go ภายใน Google เป็นไปในทิศทางเดียวกัน
| เอกสาร | ลิงก์ | กลุ่มเป้าหมายหลัก | [Normative] (เกณฑ์ปฏิบัติ) | [Canonical] (มาตรฐานถาวร) |
|---|---|---|---|---|
| Style Guide (คู่มือสไตล์) | ลิงก์ | ทุกคน | ใช่ | ใช่ |
| Style Decisions (การตัดสินใจเรื่องสไตล์) | ลิงก์ | Readability Mentors (ผู้ให้คำแนะนำ) | ใช่ | ไม่ |
| Best Practices (แนวทางปฏิบัติที่ดีที่สุด) | ลิงก์ | ผู้ที่สนใจ | ไม่ | ไม่ |
Style Guide (คู่มือสไตล์) วางรากฐานของสไตล์ Go ที่ Google เอกสารนี้ถือเป็น ข้อกำหนดหลัก และใช้เป็นพื้นฐานสำหรับคำแนะนำในเอกสารอื่นๆ
Style Decisions (การตัดสินใจเรื่องสไตล์) เอกสารที่มีรายละเอียดมากขึ้น สรุปการตัดสินใจในจุดเฉพาะเจาะจงพร้อมเหตุผลประกอบ
Best Practices (แนวทางปฏิบัติที่ดีที่สุด) รวบรวมรูปแบบ (Patterns) ที่ผ่านการพิสูจน์แล้วว่าแก้ปัญหาได้ดี อ่านง่าย และทนทานต่อการบำรุงรักษา
เจตนาของเอกสารเหล่านี้ คือ:
เอกสารเหล่านี้ “ไม่ได้” มีเจตนาเพื่อ:
ข้อแนะนำ: ความสม่ำเสมอ (Consistency) เป็นเรื่องสำคัญ แต่คุณไม่จำเป็นต้องจู้จี้กับทุกจุดที่ผิดไปจากคู่มือ ให้เน้นเขียนโค้ดใหม่โดยใช้แนวทางปฏิบัติล่าสุด และค่อยๆ ปรับแก้โค้ดเก่าเมื่อมีโอกาส เรื่องสไตล์มีความเป็นส่วนตัวและต้องชั่งน้ำหนักเสมอ แต่การมีความเป็นระเบียบเหมือนกัน (Uniformity) นั้นมีคุณค่ามาก
คำศัพท์สำคัญที่ใช้ในเอกสารชุดนี้:
Canonical (มาตรฐานถาวร)
Normative (เกณฑ์ปฏิบัติ / บรรทัดฐาน)
Idiomatic (ตามสำนวนภาษา)
คู่มือนี้ถือว่าผู้อ่านมีความคุ้นเคยกับ Effective Go แล้ว ซึ่งเป็นพื้นฐานสำคัญของชุมชน Go
แหล่งข้อมูลภายนอกที่น่าสนใจ:
บทความเกี่ยวกับการทดสอบ (Testing):