درس ۷ برنامهنویسی: خطایابی و تست با یک روش قابل تکرار
بهجای حدسزدن، خطا را بازتولید، کوچک و با شواهد برطرف کنیم.
خطا را دقیق بازتولید کن
ورودی، مراحل انجام کار، نتیجه مورد انتظار و نتیجه واقعی را ثبت کن. اگر خطا هر بار تکرار نمیشود، زمان، دستگاه و وضعیت داده را نیز یادداشت کن.
مسئله را کوچک کن
بخشهای نامرتبط را موقت کنار بگذار و مقدار متغیرها را در نقاط کلیدی ببین. اولین نقطهای که داده از انتظار منحرف میشود معمولاً نزدیک علت اصلی است.
- پیام خطا را کامل بخوان.
- آخرین تغییر را بررسی کن.
- فرضیه را با یک آزمایش بسنج.
- پس از اصلاح، تست بازگشتی انجام بده.
تمرین این درس
در پروژه هزینه، عمداً یک ورودی صفر، مقدار منفی و متن وارد کن. رفتار مورد انتظار را تعریف و برای هرکدام یک تست کوچک بساز تا برنامه بدون پیام مبهم شکست نخورد.
پرسشهای متداول
چرا با تغییر چند خط همزمان خطا سختتر میشود؟
نمیدانی کدام تغییر نتیجه را عوض کرده است؛ هر فرضیه را با کمترین تغییر ممکن آزمایش کن.
تست دستی کافی است؟
برای شروع مفید است، اما تست خودکار رفتار مهم را در تغییرات بعدی سریع و تکرارپذیر کنترل میکند.
جمعبندی
بازتولید، کوچکسازی، ساخت فرضیه و آزمایش چهار قدم خطایابیاند. اصلاح خوب همراه تستی است که جلوی بازگشت همان مشکل را بگیرد.
از مفهوم تا استفاده واقعی
برنامهنویسی یعنی تبدیل یک مسئله مبهم به ورودی، چند تصمیم روشن و یک خروجی قابل بررسی. زبان مهم است، اما روش حل مسئله مهارتی است که میان همه زبانها مشترک میماند.
یک مثال از دنیای واقعی
یک فروشگاه محلی میخواهد سفارشهای بالاتر از ۵۰۰ هزار تومان را رایگان ارسال کند. مسئله واقعی را میتوان به دریافت مبلغ سفارش، بررسی شرط و نمایش هزینه ارسال تقسیم کرد.
function shippingCost(orderTotal) {
if (orderTotal >= 500000) return 0;
return 45000;
}
const total = 620000;
console.log(`هزینه ارسال: ${shippingCost(total)} تومان`);حالا نوبت توست
شرط دیگری اضافه کن تا سفارشهای کمتر از ۱۰۰ هزار تومان پذیرفته نشوند و یک پیام روشن نمایش داده شود.
- نمونه را یکبار اجرا یا بازنویسی کن.
- تغییر خواستهشده را بدون کپی کامل انجام بده.
- خروجی را با انتظار خودت مقایسه کن.
- در یک جمله توضیح بده چرا راهحل کار کرد.
اول مسئله و خروجی مورد انتظار را روشن کن؛ بعد ابزار را انتخاب کن.
نمونه کوچکِ کامل از پروژه بزرگِ نیمهتمام بیشتر به یادگیری کمک میکند.
کد را فقط نخوان؛ تغییرش بده، خطا بساز و دلیل نتیجه را توضیح بده.
این مسیر را ادامه بده
تمرین این صفحه را انجام بده، نتیجه را برای خودت توضیح بده و بعد سراغ درس مرتبط بعدی برو.
انتخاب مسیر بعدی ←