styleguide

คู่มือสไตล์การเขียนโค้ดของ Google (Google Style Guides)

Original version(EN)

โปรเจกต์โอเพนซอร์สขนาดใหญ่ทุกแห่งล้วนมีคู่มือสไตล์ (Style Guide) เป็นของตัวเอง ซึ่งก็คือชุดข้อตกลง (ที่บางครั้งอาจดูเหมือนกำหนดขึ้นมาลอยๆ) เกี่ยวกับวิธีการเขียนโค้ดในโปรเจกต์นั้นๆ การที่โค้ดทั้งหมดเป็นไปในทิศทางเดียวกันจะช่วยให้ทำความเข้าใจโค้ดเบสขนาดใหญ่ได้ง่ายขึ้นมาก

คำว่า “สไตล์” ในที่นี้ครอบคลุมเนื้อหาหลายด้าน ตั้งแต่เรื่องเล็กน้อยอย่าง “จงใช้ camelCase สำหรับชื่อตัวแปร” ไปจนถึงกฎเหล็กอย่าง “ห้ามใช้ตัวแปร Global” หรือ “ห้ามใช้ Exceptions” โปรเจกต์นี้ (google/styleguide) ได้รวบรวมลิงก์ไปยังแนวทางปฏิบัติที่เราใช้จริงในการเขียนโค้ดที่ Google หากคุณกำลังแก้ไขโปรเจกต์ที่มีต้นกำเนิดมาจาก Google คุณอาจถูกแนะนำมาที่หน้านี้เพื่อดูสไตล์ที่เหมาะสมกับโปรเจกต์นั้น

TH

EN

นอกจากนี้ ในโปรเจกต์ยังมีไฟล์ google-c-style.el ซึ่งเป็นไฟล์ตั้งค่าสำหรับ Emacs เพื่อให้สอดคล้องกับสไตล์ของ Google

ในอดีตเราเคยโฮสต์เครื่องมือ cpplint ไว้ที่นี่ แต่เราได้หยุดการอัปเดตสู่สาธารณะแล้ว ปัจจุบันชุมชนโอเพนซอร์สได้นำโปรเจกต์ไปสานต่อ (Fork) ดังนั้นเราจึงแนะนำให้ผู้ใช้เปลี่ยนไปใช้ที่ https://github.com/cpplint/cpplint แทน

หากโปรเจกต์ของคุณจำเป็นต้องสร้างรูปแบบเอกสาร XML ใหม่ XML Document Format Style Guide อาจช่วยคุณได้ นอกจากกฎเรื่องสไตล์แล้ว ในนั้นยังมีคำแนะนำเกี่ยวกับการออกแบบรูปแบบใหม่เทียบกับการปรับใช้รูปแบบเดิมที่มีอยู่ รวมถึงการจัดรูปแบบเอกสาร XML instance และการเลือกระหว่าง elements กับ attributes

คู่มือสไตล์ในโปรเจกต์นี้อยู่ภายใต้สัญญาอนุญาต CC-By 3.0 License ซึ่งสนับสนุนให้คุณนำเอกสารเหล่านี้ไปเผยแพร่ต่อได้ ดูรายละเอียดเพิ่มเติมที่ https://creativecommons.org/licenses/by/3.0/

คู่มือสไตล์ของ Google ต่อไปนี้ อยู่ภายนอกโปรเจกต์นี้:

เนื่องจากการดูแลโปรเจกต์ส่วนใหญ่ต้องทำผ่านระบบควบคุมเวอร์ชัน (VCS) การเขียนข้อความ Commit (Commit messages) ที่ดีจึงสำคัญต่อสุขภาพของโปรเจกต์ในระยะยาว โปรดดูที่ How to Write a Git Commit Message ซึ่งเป็นแหล่งข้อมูลที่ยอดเยี่ยม แม้บทความจะพูดถึง Git SCM โดยตรง แต่หลักการสามารถนำไปใช้ได้กับทุกระบบ และธรรมเนียมปฏิบัติของ Git หลายอย่างก็สามารถนำไปปรับใช้กับระบบอื่นได้ง่าย

การร่วมแก้ไข (Contributing)

โปรดทราบว่า คู่มือสไตล์เหล่านี้เกือบทั้งหมดเป็นการคัดลอกมาจากคู่มือภายในของ Google เพื่อช่วยให้นักพัฒนาที่ทำงานกับโปรเจกต์โอเพนซอร์สของ Google ทำงานได้สะดวกขึ้น การเปลี่ยนแปลงคู่มือสไตล์จะทำที่เอกสารภายในของ Google ก่อน แล้วจึงค่อยคัดลอกมายังเวอร์ชันที่ปรากฏที่นี่

ดังนั้น เราจึงไม่เปิดรับการแก้ไขจากภายนอก (External contributions are not accepted) Pull requests ที่ส่งเข้ามามักจะถูกปิดโดยไม่มีการคอมเมนต์ตอบกลับ

อย่างไรก็ตาม คุณสามารถแจ้งปัญหาผ่าน GitHub tracker ได้ หากเป็นประเด็นที่ตั้งคำถาม, มีเหตุผลทางเทคนิคที่สมควรแก่การเปลี่ยนแปลง หรือชี้ให้เห็นข้อผิดพลาดที่ชัดเจน อาจมีการพูดคุยตอบกลับและนำไปสู่การเปลี่ยนแปลงได้ในทางทฤษฎี แต่ขอให้เข้าใจว่าเราปรับปรุงโดยยึดความต้องการภายในของ Google เป็นหลัก

Creative Commons License