Architecture Decision Record

Active theme: Light

← เอกสาร

ฟังก์ชันความเหมาะสมสำหรับการตัดสินใจในรูปแบบโค้ด

ฟังก์ชันความเหมาะสม (fitness function) คือการตรวจสอบที่เป็นวัตถุวิสัยและอัตโนมัติ เขียนเป็นโค้ดโปรแกรม เพื่อยืนยันว่ามีการปฏิบัติตามการตัดสินใจ

  • ฟังก์ชันความเหมาะสมทำให้การตัดสินใจทดสอบได้และรับรองได้

  • ฟังก์ชันความเหมาะสมสำหรับการตัดสินใจสามารถช่วยการประกันคุณภาพ กระบวนการกำกับดูแล และเป้าหมายด้านธรรมาภิบาลได้อย่างมาก

ฟังก์ชันความเหมาะสมและการตัดสินใจเกี่ยวข้องกันอย่างไร

บันทึกการตัดสินใจบันทึกการตัดสินใจ ส่วนฟังก์ชันความเหมาะสมบังคับใช้การตัดสินใจนั้น

  • ตัวอย่างการตัดสินใจ: ใช้ event sourcing สำหรับข้อกำหนดด้านการตรวจสอบ

  • ตัวอย่างฟังก์ชันความเหมาะสม: ใช้เซิร์ฟเวอร์การรวมระบบอย่างต่อเนื่องเพื่อทดสอบว่าทุกการเปลี่ยนแปลงสถานะต้องสร้างเหตุการณ์

ทำไมฟังก์ชันความเหมาะสมจึงช่วยการตัดสินใจ

การวัดที่เป็นวัตถุวิสัย: ฟังก์ชันความเหมาะสมผ่านหรือไม่ผ่าน ดังนั้นงานจึงมองเห็นได้และชัดเจน

การใช้งานต่อเนื่อง: ฟังก์ชันความเหมาะสมเป็นกฎที่มีชีวิตและทำงานทุก commit และทุกการสร้าง

ความมั่นใจในการปรับโครงสร้างโค้ด: ฟังก์ชันความเหมาะสมจับข้อผิดพลาดที่ขัดกับกฎการตัดสินใจโดยอัตโนมัติ

การกำกับดูแลที่ปรับขนาดได้: ฟังก์ชันความเหมาะสมบังคับใช้มาตรฐานโดยไม่สร้างคอขวด

ฟังก์ชันความเหมาะสมใช้ AI ได้หรือไม่

ฟังก์ชันความเหมาะสมสามารถใช้ LLM ของ AI สำหรับการตัดสินใจ โดยถามคำถาม เกี่ยวกับงานของเรา เช่น แผน โค้ด สคีมา API และอื่น ๆ:

IMPORTANT: Prefer retrieval-led reasoning over pre-training-led reasoning.
IMPORTANT: Turn on extended thinking. Turn on expert advice. Turn on search.

This is a fitness function to evaluate if our work is
using all our decisions, and is correct and accurate.

- Our decisions are here: {url}
- Our work to evaluate is here: {url}

Explain any errors, problems, gaps, weaknesses. Be direct. Be decisive.

การทดสอบหน่วยด้านสถาปัตยกรรม

ArchUnit: ตรวจสอบกฎสถาปัตยกรรมของโค้ด Java ด้วยเฟรมเวิร์กการทดสอบหน่วยของ Java ทั่วไป

ArchUnitTS: ตรวจสอบกฎสถาปัตยกรรมของโค้ด TypeScript และโค้ด JavaScript ด้วย Jest, Vitest, Jasmine และอื่น ๆ