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 ด้วยตัวเอง

Prettier Logo

หลักการและรูปแบบในการเขียนโค้ด

  • จะไม่มีโค้ดที่ใช้ในการ 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 ส่วนดังนี้
      1. ส่วน Import
      2. ส่วน ตัวแปร (Variables)
      3. ส่วน โค้ด (Code)
  • ชื่อตัวแปรจะต้องมีความหมาย และมีความยาวมากกว่า 3 ตัวอักษร
    • เพื่อช่วยในการทำความเข้าใจของโค้ดสำหรับคนที่มาแก้ไข จะต้องตั้งชื่อตัวแปรมากกว่า 3 ตัวอักษรและอาจจะใช้ตัวย่อหรือชื่อที่บ่งบอกถึงหน้าที่ของตัวแปรตัวนั้น ๆ
  • ชื่อตัวแปรและ Function จะต้องมีการเขียนแบบ camelCase ทั้งหมด
    • เพื่อลดปัญหาการเกิด Error จากชื่อตัวแปรไม่เหมือนกันในกรณีที่ตัวอักษรเป็นตัวใหญ่หรือตัวเล็ก(Matching Case) จึงมีการเลือกใช้รูปแบบการเขียนแบบ camelCase เพื่อลดปัญหาที่อาจจะเกิดขึ้น

การใช้ Comment

กฎการใช้สัญลักษณ์ Comment ในการเขียนโค้ด

เมื่อมีการเขียน Function จะต้องแนบ Comment ไว้ด้วย เพื่อบอกจุดประสงค์ของ Function นั้น ๆ และอาจจะมีการเขียน Comment ในจุดที่สำคัญเพื่อที่จะสามารถบอกถึงสิ่งที่ต้องจะทำไว้ได้ แต่จะต้องไม่มี Comment นอกเหนือจากนี้ ณ เวลาที่จะต้อง Deploy Application