رسول مدنی
رسول مدنی
خواندن ۶ دقیقه·۳ سال پیش

غلبه بر یک مشکل بزرگ در برنامه نویسان تازه کار

مشکل بزرگ در شروع برنامه نویسی
مشکل بزرگ در شروع برنامه نویسی



بسم الله الرحمن الرحیم

سلام علیکم

دوست بزرگواری که صاحب یک سایت فروش فیلم آموزشی برنامه نویسی هست , می گفت وقتی به افرادی که در دوره های ما شرکت می کنند بعد از چند مدت زنگ می زنیم و سوال می کنیم که به کجا رسیدید بیش از نود درصد می گویند که کلا برنامه نویسی رو رها کردیم و وارد یک شغل دیگری شدیم .

و یا اینکه وقتی که دانشجویان رشته رایانه رو بررسی می کنید که چند درصد از آنها برنامه نویس شده اند و طبق رشته خودشون کار می کنند به آمار کمی می رسید و می بینید که اغلب آنها کاری جدای از برنامه نویسی انجام می دهند .

فکر می کنید مشکل از کجاست ؟

چرا همه افراد شرکت کننده در دوره ها نمی توانند مسیر برنامه نویسی رو ادامه بدهند ؟

چرا مدیران سایت های فروش فیلم آموزشی می گویند که اغلب فیلم های که می فروشیم قسمت های کمی از اوایل فیلم ها بارگیری می شود و بقیه بدون استفاده می ماند ؟ در واقع افراد , فیلم آموزشی رو فقط خرید می کنند و مقداری نگاه کرده و رها می کنند .


پیدا نکردن منبع مشکل :



بررسی یکی از مشکلات مسیر برنامه نویسی :

اگر به کد های برنامه هایی که به صورت متن باز منتشر می شود نگاه کنید قطعا سردرگم خواهید شد .

میلیون ها خط کد با چندین پوشه ی تو در تو که معلوم نیست از کجا شروع شده و به کجا ختم شده است .

این کدها یک برنامه نویس تازه کار و یا باسابقه رو دچار سردرگمی می کند .



اگر تا به حال در کنار یک مکانیک که موتور یک ماشین را باز کرده باشد بوده باشید قطعا این سوال برایتان پیش آمده است که این هزاران پیچ و مهره و قطعه که روی زمین پهن شده است چطور قرار است رو هم سوار شوند .


بخشی از موتور بازشده
بخشی از موتور بازشده


فرض کنید یک بچه بیایید و این ترتیب چیده شدن این قطعات و پیچ و مهر ه های پهن شده روی زمین رو کلا به هم بزند و همه اینها رو روی هم بریزد . فکر می کنید چقدر کار همان مکانیک که این ماشین رو باز کرده و قطعا بالای شش سال سابقه داره سخت خواهد شد تا بتواند دوباره این موتور ماشین رو جمع بکند .


بماند که کسی که سابقه ی کمی در این کار دارد قطعا نخواهد توانست دوباره قطعات این ماشین رو سرهم بکند .


دقیقا کدهای برنامه هایی که ساخته می شود مثل همان هزاران قطعه ای می ماند که روی زمین ریخته شده است . اگر ترتیب این قطعات با شماره گذاری مشخص شود و روی زمین با یک نگاه , گام های مختلف چیده شدن این قطعات رو هم بدانیم قطعا به راحتی می توانیم این ماشین را راه بیندازیم .

اگر میلیون ها قطعه کد که روی هم سوار شده اند و این برنامه رو ساخته اند رو ترتیب شان را بدانیم قطعا به راحتی می توانیم بفهمیم که این فرد چه کار کرده است و چه طور این کدها رو نوشته است .

در گام اول چه کدی را نوشته است و در گام دوم روی چه کدی کار کرده است و در گام سوم چه کدهای از گام اول رو تغییر داده است و ....

اگر بتوانیم مسیر نوشته شدن یک برنامه رو داشته باشیم به راحتی می توانیم دوباره به این کدها رجوع کنیم و دوباره از اول بتوانیم همین کدها را روی هم سوار کنیم و برنامه رو درست کنیم و با مقداری خلاقیت چیزهای جدیدی به آن اضافه کنیم .


در واقع مشکل بزرگ برنامه نویسان تازه کار که باعث ناامیدی آنها می شود همین است که نمی توانند هر گام رو از گام قبلی به درستی تفکیک کنند و آن را ثبت کنند تا بتوانند دوباره از این کدها که در گام های مختلف آموزش دیده اند استفاده کنند . و بعد از مدتی آموزش , مسیر آموزش رو فراموش می کنند و کلا از برنامه نویسی ناامید می شوند . مثلا اینکه وقت بگذارید و 120 ساعت فیلم نگاه کنید و کاملا برنامه رو با مدرس بالا بیاورید ولی وقتی این چند ماه تمام شد و می خواهید به عقب برگردید کاملا مسیر رو فراموش کرده اید . البته دست خودتان هم نیست هیچ کسی نمی تواند این همه کد رو حفظ بکند .


راه حل چیست ؟

اگر بتوانید در هنگام دیدن فیلم آموزشی , گام های مختلف رو از هم تفکیک کنید و ثبت کنید و بعدا بتوانید بفهمید مثلا برای فلان بخش برنامه چند گام برداشتید و در هر گام چه کارهایی رو انجام دادید دیگر سردر گم نخواهید شد . خوشبختانه برای ثبت مسیر کد نویسی یک ابزار بسیار پیشرفته به نام (( گیت )) درست شده است که می توانید آموزش های آن را در اینترنت پیدا کنید . این ابزار دقیقا مسیر کد نویسی رو برای شما تفکیک می کند و می گوید که مرحله به مرحله و در گام های مختلف هر مرحله چه کدهایی رو زده اید .


وقتی از گیت استفاده نکنید خب , نمی شه ( هر چیزی راهی داره ) :

وقتی از گیت استفاده  نکنید خوب نمی شه ( هر چیزی راهی داره ) :
وقتی از گیت استفاده نکنید خوب نمی شه ( هر چیزی راهی داره ) :



ولی یک مشکل دیگر هم وجود دارد و آن این است که جزئیات ریز کدخط های هر مرحله و یا هرگام برنامه نویسی در مسیر یک طرح رو بعد از مدتی فراموش می کنید برای رفع این مشکل می توانید از تجربه بی نظیر برنامه نویسان بزرگ استفاده کنید و آن هم بحث شیرین توضیح نویسی (کامنت گذاری) برای کدها هست .

وقتی شما می بینید یک جای کار می لنگه و هنوز کافی نیست :

     وقتی شما می بینید یک جای کار می لنگه و هنوز کافی نیست :
وقتی شما می بینید یک جای کار می لنگه و هنوز کافی نیست :


یعنی شما هر خط کد که می نویسید و آموزش می بینید توضیحاتی در بالای آن خط کد می نویسید و این به شدت در یادآوری جزئیات موثر هست . بزرگان برنامه نویسی ای وجود دارند که برای یک خط کد سه خط توضیح می نویسند این توضیحات هم برای خود شما بسیار ضروری هست و هم این که اگر کسی خواست بعدا از کدشما استفاده کند و یا آن را ویرایش کند به راحتی بتواند بفهمد شما چه کار کرده اید .

عواقب ننوشتن توضیح برای کد خط ها : نوشته زیر عکس رو بخونید .

اگر برای کدها توضیحات زیاد ننویسید بعد از مدتی , وقتی کدهای خودتون رو می بینید این طوری خواهید شد ؟
اگر برای کدها توضیحات زیاد ننویسید بعد از مدتی , وقتی کدهای خودتون رو می بینید این طوری خواهید شد ؟


اصلا از زیاد بودن تعداد خطوط توضیحات نباید بدتان بیاید هرچه قدر بیشتر توضیح بنویسید بعدا بهتر می توانید برنامه خود را ویرایش کنید و جزئیات رو به یاد بیاورید .


بااین دو کار یعنی :

  • نصب گیت و تفکیک مراحل و گام های یک آموزش به وسیله ی آن
  • نوشتن توضیحات زیاد بین خطوط کدها ( هرچه قدر زیادتر بهتر )

به راحتی می توانید از یک سنگ بزرگ در مسیر برنامه نویسی عبور کنید .


چند مقاله دیگر شاید یک دیدگاه جدید فقط در مسیر زندگی یک نفر , ایجاد شود :

https://vrgl.ir/8ABWn


https://vrgl.ir/xHzDe


https://vrgl.ir/UJ6T2



اگر برایتان مفید بود خدای برنامه نویس عالم رو شکر کنید .

برنامه نویسیبرنامه نویساصول یادگیری برنامه نویسی
برنامه نویس جاوا
شاید از این پست‌ها خوشتان بیاید