
یکی از بزرگترین اشتباههایی که بین دانشجوهای برنامهنویسی میبینم اینه که فکر میکنن مشکلشون «کدنویسیه».
در حالی که اغلب مشکل اصلی چیز دیگهایه:
ناتوانی در دیباگ اصولی.
فرق برنامهنویس معمولی و حرفهای؟
نه سرعت تایپ.
نه تعداد فریمورکهایی که بلده.
بلکه توانایی پیدا کردن مشکل.
وقتی کد اجرا نمیشه، این مسیر رو برو:
۱- آروم باش، حدس نزن
شروع نکن ده تا تغییر همزمان دادن.
Debug یعنی تحلیل، نه شانسی زدن.
۲- مشکل رو دقیق بازتولید کن (Reproduce)
از خودت بپرس:
دقیقاً کجا خطا میده؟
با چه ورودیای خراب میشه؟
همیشه این اتفاق میافته یا فقط بعضی وقتا؟
اگه نتونی مشکل رو دوباره ایجاد کنی،
نمیتونی حلش کنی.
۳- ورودیها رو بررسی کن (۸۰٪ باگها همینجاست)
خیلی وقتا تابع مشکل نداره.
دادهای که واردش شده اشتباهه.
قبل از اینکه منطق برنامه رو متهم کنی،
ببین چه دادهای واردش شده.
۴- از Print هدفمند استفاده کن
بد:
print("here")
بهتر:
print("value of b:", b)
Debug یعنی دنبال کردن جریان داده، نه گذاشتن پیامهای تصادفی.
۵- مسئله رو کوچک کن
اگه پروژه بزرگه:
فقط همون تابع رو جدا تست کن
وابستگیها رو موقت حذف کن
سیستم رو بخشبخش بررسی کن
هرچقدر مشکل کوچکتر بشه، دیدنش سادهتر میشه.
۶- فرضیه بساز و تست کن
روش حرفهای اینه:
حدس منطقی بزن مشکل کجاست
یه تست کوچک بنویس
نتیجه رو بررسی کن
اگه اشتباه بود، فرضیه جدید.
این یعنی تفکر مهندسی.
۷- وقتی درست شد، دلیلش را بفهم
بزرگترین اشتباه دانشجوها اینه که وقتی مشکل حل شد، دیگه پیگیری نمیکنن که چرا اتفاق افتاد.
اگر دلیل رو نفهمی،
دوباره تکرار میشه.
جمعبندی
برنامهنویس قوی کسی نیست که کم خطا بده.
کسیه که سریع، منطقی و سیستماتیک خطا رو پیدا کنه.
دیباگ کردن یک مهارته.
و مثل هر مهارت دیگه ای، با تمرین ساخته میشه.
برنامه نویس باشید و ازش لذت ببرید.
میم جیم صاد
MimJimSad