فهمیدم نفهمیدم!
نکات برنامه نویسی: حفظ نکنید، جستجو کنید و بفهمید
اگه دارید برنامه نویسی رو از طریق حفظ کردن چیزها یاد میگیرید، باید بگم مسیر اشتباهی رو در پیش گرفتید. حفظ کردن یکی از بدترین کارهاییه که میتونید با خودتون بکنید وقتی دارید کدنویسی یاد میگیرید. البته اگه دارید تاریخ میخونید، یا با ادبیات آشنا میشید، حفظ کردن کمکتون میکنه ولی توی برنامه نویسی؟ فکر نکنم!
یک زبان برنامه نویسی، خیلی بزرگتر از چیزیه که بخواهید با حفظ کردن تمام، یا بعضی قسمتهاش، کار خودتون رو آسون کنید. توابع، متدها، کلاسها، کتابخانهها و ...انقدری زیاد هستن که تقریبا میشه گفت محاله که همه اونها و روش استفاده ازشون رو حفظ کنید.
به جای این کار، از ابتدا تمرکزتون رو بذارید روی یادگیری مفاهیم و روش استفاده از اونها. چون خوشبختانه توی برنامه نویسی، مفهومها خیلی تغییر نمیکنن و تقریبا با پیشرفت زبانهای برنامه نویسی، کم پیش میاد یک مفهوم به طور کلی عوض بشه و دیگه قابل استفاده نباشه. مثلا وقتی یاد بگیرید چجوری متغیرها رو تعریف کنید، یا یه تابع چجوری کار میکنه، یا مثلا توی جاوااسکریپت Closure چیه و چه استفادهای داره، تقریبا بیشتر چیزهایی که قراره بدونین رو میدونین. بقیه رو هم با یه جستجوی ساده میتونید بهش برسید.
اما اگه بخواهید خودتون رو درگیر حفظ کردن اینها بکنید کار شما ساده نخواهد بود. برای مثال وقتی دارید توابع رو میخونید، میرسید به تابع split یا join یا querySelector و هزار تا تابع و متد دیگه، که هر کدوم ممکنه یه جایی به دردتون بخوره.
به جای این کار، وقتتون رو روی خوندن داکیومنت بگذارید و از طریق یاد گرفتن مفاهیم و طرز استفاده از اونها برید جلو. وقتی قرار شد مثلا دو تا رشته رو به هم وصل کنید، همین رو سرچ میکنید و میرسید به تابع join. بعد که دو تا مثال از نحوه کار کردن این تابع دیدید، ازش استفاده میکنید و تموم. در ادامه اگه باز هم join به کارتون اومد، با یه جستجو بهش میرسید. و وقتی چند بار این کار رو انجام بدید، این تابع خود به خود رفته توی حافظهتون و نیازی به سرچ کردنش نخواهید داشت.
یا مثلا بعد از اینکه طرز کار با توابع رو یاد گرفتید، میرسید به جایی که میخواهید کار x رو انجام بدید و y رو برگردونید. اگه جستجو کردید و این تابع وجود داشت که خب حله، ولی اگه نه، خودتون دست به کار میشید و تابع مورد نظرتون رو مینویسید.
دلیل بعدی برای حفظ نکردن اینه که خود توابع در زبانهای برنامه نویسی همیشه ثابت نیستند و ممکنه توی نسخه بعدی تغییر کنن، یا deprecated (منسوخ) بشن، ولی وقتی شما با خوندن داکیومنت آشنا باشید، فرق بین دونستن و ندونستن چیزی، براتون به اندازه یه سرچ ساده خواهد بود.
اگه شما به عنوان یک برنامه نویس، پیوسته در حال یادگیری مفاهیم باشید و یاد بگیرید که چجوری بهتر یاد میگیرید (!)، توی بازار کار هم موقعیت بهتری خواهید داشت.
میشه گفت برنامه نویسی چیزی شبیه به ریاضی هست. توی ریاضی شما یک بار عملگر جمع، تفریق، ضرب و تقسیم رو که آموزش ببینید، بعدش هر عبارتی جلوتون قرار بدن، جواب رو با محاسبه به دست میارید و نمیرید سراغ حفظ کردن جواب عملگر مورد نظر روی دو عدد (البته اگه حفظ کردن جدول ضرب دوران ابتدایی رو نادیده بگیریم. (・_・)
در پایان، اگه این مطلب به دردتون خورد، ❤️ یادتون نره.
خوشحال میشم دیدگاهها و انتقادهاتون رو به اشتراک بگذارید.
مطلبی دیگر از این انتشارات
کتاب پایتون مقدماتی
مطلبی دیگر از این انتشارات
چطور vsftpd را در Linux Ubuntu 16.04 (یا 18.04) روی پوشه یک کاربر تنظیم کنیم؟
مطلبی دیگر از این انتشارات
اصول برنامه نویسی خوب