فاز · contracts
قرارداد — IFEM Doctrine
قراردادها توافق مشترک در مرز را تثبیت میکنند تا کار مستقل، رفتار پذیرش را در حافظه، جلسه یا کد محلی دوباره تفسیر نکند.
هدف
قرارداد، ورودی، خروجی، مالکیت، سازگاری، خطا، زمانبندی و معیارهای پذیرش را آنقدر روشن میکند که بتوان آنها را بازبینی و بررسی کرد.
ورودیها و مسئولیتها
قرارداد رکورد رابط و تصمیمهایی را دریافت میکند که تعیین میکنند مصرفکننده به چه چیزی تکیه میکند، ارائهدهنده چه وعدهای میدهد و کدام تغییر مخرب است.
خروجیها و آثار
خروجی، قرارداد رابط نسخهداری است با نمونهها، رفتار خطا، قواعد سازگاری، مالکیت و دروازههای پذیرش.
اعتبارسنجی و دروازه تصمیم
اعتبارسنجی میپرسد آیا مشارکتکنندهای دیگر میتواند پشت قرارداد پیادهسازی کند، بدون خلق معنای جاافتاده، و آیا تغییر مخرب قابل تشخیص است.
شکستهای رایج
رفتار پذیرش فقط در حافظه باقی میماند، نمونهها حالتهای خطا را حذف میکنند یا نسخهگذاری مرز سازگاری را روشن نمیکند.
نکتههای اجرایی
قرارداد از یک پاراگراف توصیفی دقیقتر است، چون مشخص میکند چه چیزی قابل بررسی است. نمونهها باید رفتار عادی و خطا را پوشش دهند، سازگاری باید تغییر افزایشی را از تغییر مخرب جدا کند و مالکیت باید معلوم کند چه کسی درباره تکامل توافق تصمیم میگیرد. در این صورت واگذاری ایمنتر میشود: پیادهسازی محلی پیش میرود و یکپارچهسازی میتواند رفتار خارج از مرز مشترک را رد کند.