درود دوستان! توی قسمت سوم بریم که با ۱۰ تجربه و نکته دیگه آشنا بشیم.
۲۱. سوال بپرسیم
و راحت سوال بپرسیم. حتی سرشناسترین برنامهنویسهای دنیا هم چیزهایی بلد نیستن و سوال میپرسن. سوالاتمون رو از دوستها و همکارها، از گوگل و Stackoverflow و گروهها بپرسیم. کسی نباید از خودش انتظار داشته باشه که همه چیز رو بدونه 😉
۲۲. درست سوال بپرسیم
حتماً توی انجمنها و گروههای برنامهنویسی چنین سوالاتی رو دیدیم: "کسی هست کمک کنه؟" و این سوالات معمولاً بدون جواب میمونن. عکس زیر رو ببینید که شخصی توی گروه PHP با 3.6K عضو چنین سوالی رو پرسیده:

اگه میخوایم زود به جواب برسیم، باید درست سوال بپرسیم! سوال درست یعنی اینکه مشکلمون رو واضح مطرح کنیم و اقدامهایی که برای رفع مشکل انجام دادیم رو توضیح بدیم. کافیه نوع و شیوهی سوالاتی که توی Stackoverflow و گیتهاب پرسیده میشه رو ببینیم.
۲۳. اهمیت نکات پایه
وقتی اصول یک زبان رو بلد باشیم، خیلی راحتتر و سریعتر میتونیم ابزارهای اون زبان رو یاد بگیریم. قبل از یادگیری و کار کردن با یک ابزار (فریمورک، کتابخونه و ...) بهتره با مفاهیم کلی و اصول زبانی که این ابزار با اون نوشته شده آشنایی داشته باشیم. چون این ابزار بر پایه این اصول نوشته شده و هنگام کار با این ابزار قطعاً با اصول زبان مواجه خواهیم شد. همچنین هیچ ابزار و فریمورکی دائمی نیست. تنها چیز دائمی، نکات و اصول پایه هست.
۲۴. از مشکل فاصله بگیریم
این تجربهای هست که بارها برای خودم پیش اومده. بعضی وقتها برای یک مسئله یا رفع یک باگ، اونقدر ذهنمون درگیر حل کردن اون میشه و میبینیم که با صرف مقدار زیادی زمان و انرژی قادر به حل اون نیستیم. اما معمولاً وقتی از موضوع فاصله میگیریم تا ذهنمون آروم بشه، بطور ناگهانی راهحلهای جدیدی رو برای حل مسئله پیدا میکنیم. حتی بعضی از دوستان اشاره کردن که توی خواب تونستن یک راه حل برای مسئلهشون پیدا کنن.
۲۵. تمیز کد بنویسیم
آقای میگه:
یک برنامهنویس نادان، کدی مینویسه که فقط یک کامپیوتر بتونه اون رو بفهمه. یک برنامهنویس خوب کدی مینویسه که یک انسان بتونه اون رو متوجه بشه
بله! حتی اگه مطمئن باشیم که کسی کدهای ما رو نمیبینه، همیشه باید کدنویسی تمیز و مرتب رو رعایت کنیم. چون خودمون، کدهای خودمون رو خواهیم دید. و اگه خودمون کدهای خودمون رو متوجه نشیم یک فاجعهست :)
۲۶. سختترین زبان برنامهنویسی چیه؟
سختترین زبان، اولین زبانی هست که با اون کار میکنیم. اکثر زبانها مفاهیم مشترکی دارن. مثل توابع، متغیرها و حلقهها. مواجه شدن با این مفاهیم و سختیِ درک کردن اونها فقط زمانی اتفاق میافته که برای اولین بار میخوایم با یک زبان برنامهنویسی کار کنیم. وقتی این مفاهیم رو یاد گرفتیم، یادگیری یک زبان دیگه خیلی راحتتر خواهد بود.
۲۷. استادِ یک فن باشیم
بروسلی میگه:
من از کسی که ۱۰,۰۰۰ فن رو یک بار تمرین کرده نمیترسم. از کسی میترسم که یک فن رو ۱۰,۰۰۰ بار تمرین کرده
دفعه بعد، از کسی که بهتون گفت من ۱۰ تا زبان بلدم نترسید. پس بجای اینکه چندین ابزار و مهارت رو بهصورت نصفه و نیمه و بصورت Hello World یاد بگیریم، اگه تلاش کنیم توی یک زبان یا ابزار به درجه استادی برسیم خیلی با ارزشتر خواهد بود.
۲۸. تستنویسی سخته ولی...
برنامه همیشه در ۲ حالت تست میشه: یا توسط خودمون، یا توسط مشتری.
نوشتن تست معمولاً یکی از مراحل آزاردهنده توسعه برنامه هست اما آزاردهندهتر از بازخورد منفی مشتری نخواهد بود. هنگام کدنویسی، حفرهها و باگهایی به وجود میاد که تا زمانی که برنامه تست نشه، مخفی باقی میمونن. همچنین ارزش تستنویسی زمانی مشخص میشه که میخوایم قسمتی از کدهای برنامه رو تغییر بدیم و میخوایم مطمئن بشیم که آیا این تغییرات، رفتار قسمتهای دیگه رو تحت تاثیر قرار میده یا خیر.
۲۹. مقایسه نکنیم
هیچچیزی به اندازه مقایسه کردن خودمون با دیگران، اعتماد به نفس رو کاهش نمیده. زندگی، امکانات، استعداد، شرایط مادی و معنوی هر کسی متفاوت و منحصر به فرد هست. بهتره که اول تواناییها و امکانات خودمون رو بشناسیم، و بعد خودمون رو با دیروزِ خودمون مقایسه کنیم و ببینیم چطوری از امکانات و تواناییهایی که داشتیم استفاده کردیم و از کجا، به کجا رسیدیم.
۳۰. هر کسی کد کثیف نوشته
خوبه که هر لحظه بهترین کدهامون رو بنویسیم. اما با این وجود وقتی به کدهای قدیمی نگاه میکنیم، با کدهایی مواجه میشیم که نگاه کردن به اونها شهامت زیادی میخواد 😄️
پس وقتی به کدهای قدیمی نگاه کردین و حالتون بد شد، باید خوشحال باشین که پیشرفت کردین.

خب دوستان امیدوارم از این قسمت هم استفاده کرده باشید. روزتون خوش 😉✌️
ایده نوشتن این پست از صفحه زیر به ذهنم رسید:
