راهنمای بررسی اتصال

این سند راه هایی برای استفاده از بررسی های اتصال را نشان می دهد.

نمونه های ارزشی

هنگامی که بررسی های اتصال را برای ورودی ها و خروجی ها تعریف می کنید، معمولاً باید بررسی ها را به عنوان نمایانگر انواع در نظر بگیرید.

چک ورودی‌ها باید شامل هر «نوعی» باشد که می‌پذیرند، و چک‌های خروجی باید دقیقاً شامل آنچه «باز می‌گردانند» باشد.

یک نوع واحد را قبول کنید

در ابتدایی‌ترین حالتی که می‌خواهید بلوکی ایجاد کنید که یک نوع را «می‌پذیرد» یا «باز می‌گرداند»، باید آن نوع را در بررسی اتصال اتصال قرار دهید.

یک بلوک مقدار که یک نوع واحد را می پذیرد

انواع مختلف را بپذیرید

برای ایجاد بلوکی که چندین نوع را می پذیرد، باید هر نوع پذیرفته شده را در بررسی اتصال ورودی وارد کنید.

یک بلوک ارزش که چندین نوع را می پذیرد

طبق قرارداد، اگر گاهی اوقات بتوان یک خروجی را در موقعیت‌های متعدد پذیرفت (مثلاً اگر اجازه می‌دهید گاهی اوقات از اعداد به‌عنوان رشته‌ها استفاده شود)، خروجی باید محدودتر باشد، و ورودی (ها) باید مجازتر باشد. این کنوانسیون اطمینان حاصل می کند که خروجی ها در جایی که پشتیبانی نمی شوند وصل نمی شوند.

هر نوع را بپذیرید

برای ایجاد بلوکی که هر نوع را می پذیرد، باید بررسی اتصال ورودی را روی null تنظیم کنید.

یک بلوک ارزش که هر نوع را می پذیرد

برگرداندن انواع فرعی

برای ایجاد بلوکی که یک نوع فرعی را «برگرداند»، باید هم نوع و هم supertype را در بررسی اتصال خروجی وارد کنید.

یک بلوک مقدار که نوع و سوپرتایپ آن را برمی گرداند

در مورد زیرگروه‌ها، داشتن چندین بررسی در یک بررسی خروجی اشکالی ندارد، زیرا بلوک همیشه هر دو نوع را «باز می‌گرداند».

انواع پارامتری را برگردانید

برای ایجاد بلوکی که نوع پارامتری شده را "بازگرداندن" می کند، باید هم نسخه پارامتری و هم نسخه بدون پارامتر را در بررسی اتصال خروجی قرار دهید.

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

یک بلوک مقدار که نوع پارامتری و غیر پارامتری آن را برمی‌گرداند نوع

درست مانند انواع فرعی، در این مورد نیز وجود چندین بررسی در یک بررسی خروجی اشکالی ندارد، زیرا بلوک همیشه هر دو نوع را "باز می گرداند".

نمونه های پشته یا بیانیه

چند راه متداول وجود دارد که توسعه دهندگان چک را برای اتصالات قبلی و بعدی تعریف می کنند. معمولاً به این فکر می کنید که ترتیب بلوک ها را محدود می کند.

اتصالات بعدی باید شامل بلوک‌هایی باشد که باید از بلوک فعلی پیروی کنند، و اتصالات قبلی شامل آنچه بلوک فعلی است، باشد.

بلوک ها را مرتب نگه دارید

برای ایجاد مجموعه‌ای از بلوک‌ها که به ترتیب تعریف‌شده به هم متصل می‌شوند، باید بنویسید که کدام بلوک‌ها باید از بلوک فعلی در بررسی اتصال بعدی پیروی کنند و بلوک فعلی در بررسی اتصال قبلی چیست.

بلوک های بیانیه ای که دارای دستور اجباری هستند

تعداد زیادی بلوک میانی را مجاز کنید

برای ایجاد مجموعه ای از بلوک های مرتب شده که امکان تعداد زیادی بلوک میانی را فراهم می کند، باید حداقل یک ورودی از بررسی اتصال قبلی بلوک میانی را در بررسی اتصال بعدی بلوک میانی قرار دهید. این اجازه می دهد تا بلوک توسط تعداد بیشتری از خودش دنبال شود.

بلوک های بیانیه ای که تعداد زیادی بلوک میانی را امکان پذیر می کند

هیچ بلوک میانی را مجاز نکنید

برای ایجاد مجموعه‌ای از بلوک‌های مرتب شده که بلوک‌های میانی اختیاری هستند، باید حداقل یک ورودی را از بررسی اتصال قبلی بلوک میانی و بررسی اتصال قبلی بلوک آخر را در بررسی اتصال بعدی بلوک اول وارد کنید. این اجازه می دهد تا بلوک اول با بلوک میانی یا آخرین بلوک دنبال شود.

بلوک‌های بیانیه‌ای که اجازه هیچ بلوک میانی را نمی‌دهند

یا پشته

برای ایجاد بلوکی که فقط می‌تواند توسط بلوک‌هایی از یک گروه یا بلوک‌هایی از گروه دیگر (و نه هر دو) دنبال شود، باید دو کار انجام دهید:

  1. باید حداقل یک ورودی از هر دو گروه بررسی های قبلی اتصال را در بررسی اتصال بعدی بلوک اول وارد کنید.

  2. باید بررسی‌های اتصال بعدی گروه‌ها را به گونه‌ای تعریف کنید که فقط شامل مقادیری باشد که در بررسی‌های قبلی اتصال آنها وجود دارد (بنابراین آنها فقط می‌توانند توسط بلوک‌های همان گروه دنبال شوند).

بلوک‌های بیانیه‌ای که می‌توانند توسط چندگانه از یک نوع بلوک یا مضاعف دیگری، اما نه هر دو