بعد از این درس چه کاری میتوانی انجام بدهی؟
- قانون را به شرط دقیق تبدیل کنی
- switch expression بنویسی
- حالت صفر و مقدار مرزی را پوشش بدهی
C# را ساده بفهم
C# مثل یک کارگاه مهندسی با قراردادهای روشن است؛ نوعها، کلاسها و interfaceها کمک میکنند اجزای اپ، وبسرویس یا بازی جدا اما هماهنگ کار کنند.
حالت fallback با _ باید آگاهانه باشد؛ نباید داده نامعتبر را بیصدا بپذیرد.
چرا مهم است؟ حالت نامعتبر را زود و روشن خارج میکند.
اولین تمرین تو: ورودیهای -۱، ۰ و ۵ را بررسی و انتظار هرکدام را توضیح بده.
از یک مثال کوچک شروع کن
switch expression زمانی عالی است که هر ورودی به یک مقدار خروجی تبدیل میشود. ترتیب patternها مهم است؛ حالت خاصتر را پیش از حالت عمومی قرار بده. برای ورودی منفی guard clause یا exception طراحی کن تا داده خراب عادی تلقی نشود.
۱. نامعتبر را جدا کن
stock منفی باید رد شود.
۲. حالتها را مرتب کن
صفر، کمبود و موجودی کافی ترتیب منطقی دارند.
۳. مرز را تست کن
۰، ۱، ۴ و ۵ را در جدول انتظار بنویس.
حالت fallback با _ باید آگاهانه باشد؛ نباید داده نامعتبر را بیصدا بپذیرد.
سه قطعهای که باید بفهمی
Guard clause
حالت نامعتبر را زود و روشن خارج میکند.
Pattern matching
نوع و شکل داده را همزمان بررسی میکند.
Switch expression
چند حالت را به یک مقدار خروجی نگاشت میکند.
تعیین وضعیت موجودی کالا
موجودی صفر یعنی ناموجود، کمتر از پنج یعنی هشدار و بقیه آماده فروش است. این قانون باید برای مرزها دقیق باشد.
قطعهها را به ترتیب درست بچین
روی هر قطعه بزن تا وارد پاسخ شود؛ برای برگرداندن دوباره روی آن بزن. با دکمههای جابهجایی هم میتوانی بدون کشیدن و رهاکردن ترتیب را اصلاح کنی.
بررسی ساختار تمرین
این صفحه کامپایلر کامل C# نیست؛ ساختار تمرین را صادقانه بررسی میکند و خروجی مورد انتظار را نشان میدهد. برای اجرای کامل به محیط رسمی همان زبان نیاز است.
یک بخش را تغییر بده و دکمه بررسی را بزن.
راهنماییها مرحلهای هستند؛ اول خودت پیام خطا را بخوان.
ورودیهای -۱، ۰ و ۵ را بررسی و انتظار هرکدام را توضیح بده.
این سه اشتباه را انجام نده
قرار دادن pattern عمومی پیش از خاص
پذیرفتن stock منفی
نداشتن تست مقدار دقیق ۵
با 5 سؤال مطمئن شو که مفهوم را گرفتهای
ورودی ۵ چه خروجی میدهد؟
علامت _ در switch چیست؟
چرا stock منفی را throw میکنیم؟
کدام روش نشان میدهد این درس را واقعاً فهمیدهای؟
کدام رفتار احتمال خطا را در همین موضوع بیشتر میکند؟
فهمیدی، تغییر دادی، نتیجه را توضیح دادی؟
فقط در این صورت درس را کامل کن و سراغ مرحله بعد برو.