รวมคำศัพท์ที่นักพัฒนาซอฟต์แวร์ชอบพูดกันบ่อย ๆ

Sept. 3, 2024 · boychawin

วันนี้ผมจะพามาดูคำศัพท์เฉพาะทางของ นักพัฒนาซอฟต์แวร์ ที่ใช้ในสื่อสารกับ เพื่อนรวมทีมกัน และที่ใช้กันในชีวิตประจำวัน เดียวจะทยอยมา update คำศัพท์ให้เรื่อยๆนะครับ

นี่คือคำศัพท์ที่นักพัฒนาชอบพูดกันบ่อย ๆ

  1. Conflict - โค้ดที่เกิด "ความขัดแย้ง" (conflict) ระหว่างไฟล์หรือโค้ดที่ถูกแก้ไขใน branch ต่าง ๆ เช่น merge branch หนึ่งเข้ากับอีก branch หนึ่ง และมีการเปลี่ยนแปลงในส่วนของไฟล์เดียวกันใน branch ทั้งสอง
  2. Consume(คนซื้อ) - การดึงข้อมูลหรือใช้บริการจากแหล่งอื่น คล้ายกับการที่ระบบของเราเป็นผู้รับข้อมูลที่ส่งมาจากบริการอื่น เช่น การดึงข้อมูลจาก API ของ third-party
  3. Produce(คนขาย) - หมายถึงการสร้างหรือส่งข้อมูลจากระบบของเราไปยังระบบอื่น ซึ่งระบบของเราจะทำหน้าที่เป็นผู้ส่งข้อมูล เช่น การส่งข้อมูลจาก backend ไปยัง API อื่น ๆ หรือส่งข้อมูลจาก frontend ไปยัง backend
  4. Bug - ข้อผิดพลาดหรือจุดบกพร่องในโปรแกรม
  5. Commit - การบันทึกการเปลี่ยนแปลงของโค้ดลงในระบบ Version Control
  6. Merge - การรวมโค้ดจากหลายๆ สาขา (branches) เข้าด้วยกัน
  7. Pull Request - คำขอให้ผู้อื่นตรวจสอบและรวมโค้ดของเรากับสาขาหลัก
  8. Refactor - การปรับปรุงโค้ดให้มีประสิทธิภาพหรืออ่านง่ายขึ้น โดยไม่เปลี่ยนการทำงานของมัน
  9. Deploy - การนำโปรแกรมขึ้นเซิร์ฟเวอร์
  10. Hotfix - การแก้ไขบั๊กด่วน
  11. Scrum - กระบวนการจัดการการพัฒนาแบบ Agile ที่มีการทำงานเป็นรอบ ๆ (sprints)
  12. Sprint - ช่วงเวลาที่กำหนดไว้สำหรับการทำงานใน Scrum
  13. Stand-up - การประชุมสั้นๆ ประจำวันเพื่อรายงานสถานะงานในทีม
  14. Dependency - การใช้ Library หรือโมดูลอื่นในการทำงานของโปรแกรม
  15. Environment - สภาพแวดล้อมที่โปรแกรมทำงาน เช่น Development, Testing, Production
  16. Middleware - ซอฟต์แวร์ที่ทำงานอยู่ระหว่างการสื่อสารของโปรแกรมสองตัว เช่น Web Server กับ Application Server
  17. Repository (Repo) - ที่เก็บโค้ดหรือโปรเจกต์ที่แชร์ให้กับทีม
  18. Continuous Integration (CI) - กระบวนการอัตโนมัติในการทดสอบและรวมโค้ดที่ส่งเข้ามาใหม่กับโค้ดหลัก
  19. Continuous Deployment (CD) - การนำโปรแกรมเข้าสู่การใช้งานจริงอย่างต่อเนื่องโดยอัตโนมัติ
  20. Linting - การตรวจสอบความถูกต้องของโค้ดเพื่อหาจุดบกพร่องหรือปัญหาต่างๆ
  21. Unit Test - การทดสอบฟังก์ชันหรือโมดูลเล็กๆ ของโปรแกรมเพื่อให้แน่ใจว่าทำงานถูกต้อง
  22. Microservices - สถาปัตยกรรมการพัฒนาโปรแกรมที่แบ่งแอปพลิเคชันออกเป็นส่วนย่อย ๆ ที่ทำงานอิสระกัน
  23. Containerization - การบรรจุโปรแกรมและ dependency ทั้งหมดใน "คอนเทนเนอร์" (เช่น Docker) เพื่อให้สามารถรันได้ทุกที่
  24. Definition - การบอกว่าระบบทำอะไร
  25. Use Case - การบอกว่าผู้ใช้ทำอะไรในระบบ
  26. Condition - เงื่อนไข
  27. Result - ผลลัพธ์
  28. Business Logic - ตรรกะธุรกิจ
  29. FE - Frontend
  30. BE - Backend
  31. Resolved - แก้ไขแล้ว
  32. IB
  33. SS
  34. TS
  35. UX
  36. HR

สรุป

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