بعد از این درس چه کاری میتوانی انجام بدهی؟
- یک کار بزرگ را خرد کنی
- ورودی و خروجی تابع را روشن بنویسی
- تکرار منطق را حذف کنی
HTML را ساده بفهم
HTML مثل اسکلت و برچسبهای یک فروشگاه است؛ مشخص میکند هر بخش عنوان، توضیح، تصویر یا دکمه است.
تابع کوتاه هدف نیست؛ تابع متمرکز با قرارداد روشن هدف است.
چرا مهم است؟ هر تابع یک دلیل روشن برای تغییر داشته باشد.
اولین تمرین تو: محاسبه اصلی نمونه را به تابعی نامدار منتقل کن و برای دو ورودی عادی و یک ورودی نامعتبر انتظار بنویس.
از یک مثال کوچک شروع کن
تابع و کلاس ابزار تقسیم مسئولیتاند. هر بخش باید یک دلیل روشن برای تغییر داشته باشد، ورودی لازم را آشکار بگیرد و خروجی قابل پیشبینی بدهد. وابستگی پنهان و state عمومی، آزمون و تغییر را سخت میکند.
۱. مسئولیت را نامگذاری کن
نام تابع باید کار واحد آن را توضیح دهد.
۲. ورودی و خروجی را محدود کن
فقط داده لازم را دریافت و نتیجه روشن برگردان.
۳. بدون UI آزمون کن
منطق اصلی باید مستقل از ورودی/خروجی قابل بررسی باشد.
تابع کوتاه هدف نیست؛ تابع متمرکز با قرارداد روشن هدف است.
سه قطعهای که باید بفهمی
مسئولیت
هر تابع یک دلیل روشن برای تغییر داشته باشد.
پارامتر
دادهای که تابع برای کار نیاز دارد.
خروجی
نتیجه قابل پیشبینی و قابل آزمون.
صفحه معرفی محصولی که کاربر و موتور جستوجو هر دو ساختارش را درست بفهمند.
در این درس، بخشی واقعی از پروژه «صفحه معرفی یک محصول واقعی» را میسازیم. قبل از کد یا پرامپت، ورودی، قانون و خروجی مورد انتظار را روی کاغذ مشخص میکنیم.
قطعهها را به ترتیب درست بچین
روی هر قطعه بزن تا وارد پاسخ شود؛ برای برگرداندن دوباره روی آن بزن. با دکمههای جابهجایی هم میتوانی بدون کشیدن و رهاکردن ترتیب را اصلاح کنی.
اجرا و پیشنمایش
این نمونه واقعاً داخل محیط جدا و امن مرورگر اجرا میشود؛ مقدار را تغییر بده و نتیجه را مستقیم ببین.
یک بخش را تغییر بده و دکمه بررسی را بزن.
راهنماییها مرحلهای هستند؛ اول خودت پیام خطا را بخوان.
محاسبه اصلی نمونه را به تابعی نامدار منتقل کن و برای دو ورودی عادی و یک ورودی نامعتبر انتظار بنویس.
این سه اشتباه را انجام نده
تابع با چند مسئولیت نامرتبط
وابستگی به state عمومی
خروجی یا اثر جانبی مبهم
با 5 سؤال مطمئن شو که مفهوم را گرفتهای
بهترین روش استفاده از نمونه این درس چیست؟
تابع خوب چه کاری انجام میدهد؟
وابستگی پنهان چه مشکلی دارد؟
کدام روش نشان میدهد این درس را واقعاً فهمیدهای؟
کدام رفتار احتمال خطا را در همین موضوع بیشتر میکند؟
فهمیدی، تغییر دادی، نتیجه را توضیح دادی؟
فقط در این صورت درس را کامل کن و سراغ مرحله بعد برو.