Architecture Decision Record

Active theme: Light

← اسناد

توابع تناسب برای تصمیمات به‌عنوان کد

توابع تناسب (fitness functions) بررسی‌های خودکار و عینی هستند که با کد برنامه‌نویسی نوشته می‌شوند و تأیید می‌کنند که تصمیم‌ها رعایت می‌شوند.

  • توابع تناسب تصمیم‌ها را قابل آزمون و قابل اطمینان می‌کنند.

  • توابع تناسب برای تصمیم‌ها می‌توانند به‌شدت به تضمین کیفیت، فرایندهای نظارتی و اهداف حکمرانی کمک کنند.

توابع تناسب چگونه به تصمیم‌ها مرتبط می‌شوند

رکورد تصمیم، تصمیم را مستند می‌کند، در حالی که تابع تناسب، تصمیم را تضمین می‌کند.

  • نمونه تصمیم: برای الزامات ممیزی از event sourcing استفاده می‌کنیم.

  • نمونه تابع تناسب: از سرور یکپارچه‌سازی پیوسته برای آزمودن این استفاده می‌کنیم که همهٔ تغییرات وضعیت باید رویداد تولید کنند.

چرا توابع تناسب به تصمیم‌ها کمک می‌کنند

اندازه‌گیری‌های عینی: توابع تناسب یا موفق می‌شوند یا شکست می‌خورند، بنابراین کار قابل‌مشاهده و روشن است.

استفادهٔ پیوسته: توابع تناسب قوانین زندهٔ شما هستند که روی هر کامیت و ساخت اجرا می‌شوند.

اطمینان برای بازآرایی: توابع تناسب خطاهای قوانین تصمیم را به‌صورت خودکار می‌گیرند.

حکمرانی مقیاس‌پذیر: توابع تناسب استانداردها را بدون ایجاد گلوگاه تضمین می‌کنند.

آیا توابع تناسب می‌توانند از هوش مصنوعی استفاده کنند؟

توابع تناسب می‌توانند با پرسیدن سؤال دربارهٔ کار شما، مانند برنامه‌ها، کد، طرح‌واره‌ها، 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 و غیره بررسی کنید.