بعد از این درس دقیقاً چه بلدی؟
- میتوانی «بازتولید» را با مثال همین درس توضیح بدهی.
- میدانی «پیام و Stack trace» کجای مسئله به کار میآید.
- تغییر پیشنهادی درس را اجرا میکنی و از روی نتیجه، اشتباه را پیدا میکنی.
پیداکردن قطعی برق
بهجای تعویض همه سیمها، از نزدیکترین فیوز شروع میکنیم و مسیر را بخشبهبخش میسنجیم. هر مشاهده یک احتمال را حذف میکند.
خطا بخشی طبیعی از ساخت برنامه است. مسیر سریع این است: خطا را دوباره بساز، اولین پیام را کامل بخوان، دادههای همان نقطه را ببین و مسئله را تا کوچکترین نمونه کم کن.
چرا مهم است؟ بهجای دستکاری تصادفی کد، مقدار هر قیمت و جمع میانی را بررسی میکنیم تا اولین نقطه اختلاف را پیدا کنیم.
اولین تمرین تو: بهجای دستکاری تصادفی کد، مقدار هر قیمت و جمع میانی را بررسی میکنیم تا اولین نقطه اختلاف را پیدا کنیم.
اول بفهم، بعد کد بنویس
بازتولید
قدمهای دقیق رسیدن به خطا را مشخص میکند.
پیام و Stack trace
نوع خطا، فایل، خط و مسیر فراخوانیها را نشان میدهد.
Log
جزئیات فنی لازم را برای توسعهدهنده ثبت میکند، بدون افشای رازها به کاربر.
جمع سبد خرید اشتباه است
بهجای دستکاری تصادفی کد، مقدار هر قیمت و جمع میانی را بررسی میکنیم تا اولین نقطه اختلاف را پیدا کنیم.
قطعهها را به ترتیب درست بچین
روی هر قطعه بزن تا وارد پاسخ شود؛ برای برگرداندن دوباره روی آن بزن. با دکمههای جابهجایی هم میتوانی بدون کشیدن و رهاکردن ترتیب را اصلاح کنی.
کد را تغییر بده و نتیجه را همانجا ببین
این مفسر آموزشی امن، بخش پایه PHP شامل متغیر، محاسبه، رشته، آرایه و if/else را در مرورگر اجرا میکند. کد به سرویس دیگری ارسال نمیشود.
برای دیدن نتیجه، «اجرای کد» را بزن.
این مثال خطبهخط چه میگوید؟
فعلاً حفظ نکن؛ هر خط را به یک جمله ساده تبدیل کن.
- 1
<?phpاز اینجا مفسر PHP شروع به خواندن کد میکند.
- 2
$prices = [120000, 85000, 45000];یک مقدار با نام $prices نگهداری میشود تا در خطهای بعد دوباره استفاده شود.
- 3
$total = array_sum($prices);یک مقدار با نام $total نگهداری میشود تا در خطهای بعد دوباره استفاده شود.
- 4
var_dump($prices, $total);این خط بخشی از منطق اصلی مثال است؛ نامها و علامتها را از راست به چپ، بخشبهبخش بخوان.
راهنماییها مرحلهای هستند؛ اول خودت پیام خطا را بخوان.
یکی از قیمتها را به رشته «85,000» تبدیل کن و خطا یا نتیجه را ببین. سپس داده را در همان مرز ورود اصلاح کن.
از ساده به چالشی، بدون پرش
یکی از مقدارهای مثال را عوض کن، خروجی را روی کاغذ حدس بزن و سپس بررسی کن.
یکی از قیمتها را به رشته «85,000» تبدیل کن و خطا یا نتیجه را ببین. سپس داده را در همان مرز ورود اصلاح کن.
سناریوی «جمع سبد خرید اشتباه است» را با نامهای واضحتر و یک حالت تازه گسترش بده.
این سه اشتباه را انجام نده
چند فایل را همزمان تغییر میدهی.
از @ برای پنهانکردن هشدار استفاده میکنی.
در سایت اصلی display_errors را روشن میگذاری.
5 پرسش کوتاه؛ مطمئن شو واقعاً یاد گرفتهای
برای هر پرسش یک پاسخ انتخاب کن. بعد از هر انتخاب، دلیل پاسخ را همانجا میبینی.
اولین قدم مفید هنگام یک خطای تکرارپذیر چیست؟
کدام توضیح، «بازتولید» را دقیقتر بیان میکند؟
بهترین قدم بعد از خواندن مثال این درس چیست؟
کدام روش نشان میدهد این درس را واقعاً فهمیدهای؟
کدام رفتار احتمال خطا را در همین موضوع بیشتر میکند؟
درس را فقط وقتی تمام کن که کد را تغییر دادهای
دیدن آموزش کافی نیست؛ یک مقدار را تغییر بده، خروجی را پیشبینی کن و بعد اجرا بزن.