Approve Criteria - trabnm1313/SDTP GitHub Wiki
Pull Requests
กฏการ Pull Request
ในการรวมกิ่ง(Merge) จะต้องมีการ Pull Request และให้ Reviewer ทำการ Review ก่อนเสมอ เพื่อลดปัญหาที่อาจจะเกิดขึ้นในอนาคต อาทิเช่น การ Conflict, Mis-match Variable และช่วยทำให้คนในทีมมีรูปแบบของโค้ดเหมือนๆกันเพื่อช่วยให้คนในทีมสามารถเข้าใจโค้ดของคนอื่น ๆ ได้ดียิ่งขึ้น
Code Formatting
กฎการจัดรูปแบบโค้ดของทีม
ในการเขียนโค้ด จะมีการใช้ Extension ที่ชื่อว่า Prettier มาช่วยในการจัด Format ในการเขียนโค้ดให้อยู่ในรูปเดียวกัน เพื่อช่วยให้คนในทีมสามารถเข้าใจโค้ดได้ไม่ยาก และลดเวลาที่ใช้ในการจัด Format ด้วยตัวเอง
หลักการและรูปแบบในการเขียนโค้ด
- จะไม่มีโค้ดที่ใช้ในการ Log ข้อมูลหรือแก้บัค ณ ขณะ Deploy Application
- จะต้องไม่มี Console.log หรือคำสั่งใดๆ เมื่่อจะต้องทำการ Pull request ขึ้นไปรวมกับกิ่ง main เพื่อลดการแสดงผลลัพธ์ที่ไม่เกี่ยวข้องหรืออาจจะมี Log ที่ไม่เกี่ยวข้องทำให้ Debug ได้ยากยิ่งขึ้น
- จะไม่มีการเขียนโค้ดให้รวบรัดในบรรทัดเดียว(One line code)
- ห้ามมีการเขียนโค้ดแบบรวบรัด(One line code) เนื่องจากอาจทำให้คนในทีมสามารถตรวจสอบได้ยากยิ่งขึ้น ทำให้การทำงานล่าช้าเพราะต้องทำความเข้าใจโค้ดบรรทัดนั้นๆ
- ใช้ Try, Catch เมื่อมีโอกาสเพื่อลดปัญหาการแสดง Error
- Try, Catch ช่วยจำกัดขอบเขตของ Error ที่อาจจะเกิดขึ้นในหลายๆกรณี และยังเป็นการช่วยจัดการกับ Error ที่อาจจะเกิดขึ้น
- จะต้องเขียนโค้ดที่ใช้สำหรับ Import ไว้บนสุดเสมอ ตามด้วย ตัวแปร และ Function
- เพื่อความง่ายต่อการอ่านและทำความเข้าใจ เราจะแบ่งโค้ดออกเป็น 3 ส่วนดังนี้
- ส่วน Import
- ส่วน ตัวแปร (Variables)
- ส่วน โค้ด (Code)
- เพื่อความง่ายต่อการอ่านและทำความเข้าใจ เราจะแบ่งโค้ดออกเป็น 3 ส่วนดังนี้
- ชื่อตัวแปรจะต้องมีความหมาย และมีความยาวมากกว่า 3 ตัวอักษร
- เพื่อช่วยในการทำความเข้าใจของโค้ดสำหรับคนที่มาแก้ไข จะต้องตั้งชื่อตัวแปรมากกว่า 3 ตัวอักษรและอาจจะใช้ตัวย่อหรือชื่อที่บ่งบอกถึงหน้าที่ของตัวแปรตัวนั้น ๆ
- ชื่อตัวแปรและ Function จะต้องมีการเขียนแบบ camelCase ทั้งหมด
- เพื่อลดปัญหาการเกิด Error จากชื่อตัวแปรไม่เหมือนกันในกรณีที่ตัวอักษรเป็นตัวใหญ่หรือตัวเล็ก(Matching Case) จึงมีการเลือกใช้รูปแบบการเขียนแบบ camelCase เพื่อลดปัญหาที่อาจจะเกิดขึ้น
การใช้ Comment
กฎการใช้สัญลักษณ์ Comment ในการเขียนโค้ด
เมื่อมีการเขียน Function จะต้องแนบ Comment ไว้ด้วย เพื่อบอกจุดประสงค์ของ Function นั้น ๆ และอาจจะมีการเขียน Comment ในจุดที่สำคัญเพื่อที่จะสามารถบอกถึงสิ่งที่ต้องจะทำไว้ได้ แต่จะต้องไม่มี Comment นอกเหนือจากนี้ ณ เวลาที่จะต้อง Deploy Application