درفکر برنامه نویس چه میگذرد+۶ راهکارطلایی

فکر برنامه نویس
مطالب کاربردی
مدت زمان مطالعه : 32
  • 0 نفر پسندیدند
  • ذخیره کردن
  • 108
فهرست
  • زمانی که با یک مشکل روبرو شدیم، چه کاری انجام دهیم؟
  • در مواجهه به مشکل چه کاری انجام دهیم؟
  • نکات ساده برای فکر کردن مثل یک برنامه نویس
  • وقتی فکر میکنید به بن بست خورده‌اید از این سه روش استفاده کنید
  • سخن پایانی

درفکر برنامه نویس چه میگذرد+۶ راهکارطلایی

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

فکر یک برنامه نویس

زمانی که با یک مشکل روبرو شدیم، چه کاری انجام دهیم؟

۱) یادگیری

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

 

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

اکثر برنامه نویسان این موضوع را در یادگیری تفکر برنامه نویسی احساس کرده اند. به همین علت است که یادگیری تفکر برنامه نویسی ما به شما توصیه می کنیم ابتدا مشکل خود را بر روی یک تکه کاغذ یادداشت کنید، شکل برای آن رسم کنید و یا به شخص دیگری درباره این مشکل خود توضیح دهید، حتی می توانید از اجسامی که جان دار نیستند نیز برای این کار استفاده کنید.

” اگر شما نمی توانید یک مشکل را به زبانی ساده توضیح دهید شما به صورت کامل نتوانسته اید این مشکل را درک کنید.”

 

یادگیری هنگام اشکال زدایی

۲)برنامه ریزی کنید

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

۳)تقسیم کنید

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

این تکنیک مهمترین نکته در تفکر برنامه نویسی می باشد پس بسیار باید دقت کرد. در تفکر برنامه نویسی شما یاد میگیرید که مشکلات خود را کوچکتر کنید تا آن جایی که بتوانید به راحتی آن را حل کنید، سپس شما می توانید این مشکل را کمی سخت تر کرده و دوباره اقدام به حل آن کنید و آن قدر این کار را ادامه دهید تا به مشکل اصلی برسید و بتوانید آن را حل کنید.

در مواجهه به مشکل چه کاری انجام دهیم؟

اشکال زدایی هنگام مشکل

  • اشکال زدایی

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

Andrew singer درباره دیباگ کردن می گوید که: ” هنر اشکال زدایی و دیباگ کردن این است که شما متوجه شوید که تفاوت میان آنچه واقعا به برنامه گفته اید تا انجام دهد و آن چه که می خواستید به او بگویید در چه چیزی است؟ ”

  • ارزیابی دوباره

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

ارزیابی دباره

 

یک نکته مهم دیگر
تحقیق کردن یکی دیگر از روش هایی است که میتواند شما را در رسیدن به تفکر برنامه نویسی کمک کند، اولین راه برای این کار استفاده کردن از موتور جست و جوی گوگل می باشد، احتمال این که شخص دیگری در دنیا به مشکل شما برخورد کرده باشد، بسیار زیاد است.و به همین دلیل شما می توانید از راه حل او برای حل مشکل خود استفاده کنید( شما در این مسیر می توانید بسیاری از راه حل های موجود  برای حل مسائل مختلف را بیاموزید).

هر زمان که یک مشکل ساده را با برنامه نویسی حل می کنید، اصول خود را حتی بیشتر توسعه می دهید و با پیشرفت آن کار را آسان تر می کنید.

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

  • به خوبی تمرین کنید

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

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

در واقع یک الگوی بسیار رایج میان افراد مختلف این است که آن ها عادت دارند تا مسائل کوچک را حل کنند،

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

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

Mary meeker درباره این موضوع می گوید که : ” خوب تمرین کنید چرا که شرکت های بسیار بزرگ تنها از این طریق است که به وجود می آیند.”

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

پس چرا بازی های ویدئویی به ما در رسیدن به تفکر برنامه نویسی کمک می کنند؟

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

هر زمان که یک مشکل ساده را با برنامه نویسی حل می کنید، اصول خود را حتی بیشتر توسعه می دهید و با پیشرفت آن کار را آسان تر می کنید.

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

  • ایجاد مهارت حل مسئله

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

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

افرادی که در برنامه نویسی مبتدی هستند ابتدا باید درک مجموعه ای از الگوریتم های اصلی و ساختار داده ها را آغاز کنند.

راه حل برخی مسائل دیگر را بخوانید تا الگوها برای شما قابل مشاهده شوند. سپس ، باید تا زمانی که سریع نیستید ،

چالش های آنلاین را تمرین کنید. در برنامه نویسی بسیاری از مشکلات حل می شود ، و هرچه بیشتر حل کنید ،

الگوهای مشکلات قدیمی را در مشکلات جدیدی که حل می کنید بیشتر می بینید و این نیاز به هوش بین فردی آن شخص می باشد و با گذشت زمان بهتر خواهید شد.

نکات ساده برای فکر کردن مثل یک برنامه نویس

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

۱- مشکلات را با صدای بلند بیان و حل کنید

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

آیا کسی را ندارید که در حال حاضر با او صحبت کنید؟ مشکلی نیست! فقط سعی کنید مشکل را با صدای بلند بیان کنید. عملکرد و درک خود را توضیح دهید. در بعضی مواقع ، بلند صحبت کردن راه حل مشکل است.
یک متد دیگر نیز به اسم Rubber Duck Debugging وجود دارد که برای رفع مشکلات برنامه نویسی بسیار کارساز است.

به این صورت است که شما یک اردک پلاستیکی (یا هر اسباب بازی دیگر) را به عنوان یک شخص درنظر گرفته و خط به خط کد برنامه خود را به آن توضیح می دهید. با این کار اشتباهات یا باگ برنامه شما موقع توضیح دادن، خودش را نشان می دهد.

۲- تمرین کنید، حفظ نکنید

به خاطر سپردن کد کار سختی است و نیازی نیست که آن را حفظ کنید تا مانند یک برنامه نویس فکر کنید. انچه در تفکر برنامه نویسی مهم است تمرین کردن است.

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

۳- میانبرها می توانند خطرناک باشند

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

وقتی به راه حل های برنامه نویسی دیگران تکیه می کنید، نمی توانید خودتان آن عضله برنامه نویسی را قوی کنید.

روی اصول اولیه تمرکز کنید، تمرین کنید و تمرینات خود را اجرا کنید. یادگیری برنامه نویسی به زمان نیاز دارد، این می تواند ناامید کننده باشد، اما همه این ها، بخشی از فرایند تشکیل چشم انداز برنامه نویسی شماست.

۴- اشکال زدایی برنامه خود

گام به گام راه حل خود را بررسی کنید و سعی کنید محل اشکال را بیابید. مثلا برای جمع اعداد از ۱ ‌تا n تمام اعداد را جمع نمیکنیم بلکه از n(n+1)/2 استفاده می‌کنیم.
یک راه برای ارزیابی مجدد این است که از صفر شروع کنید. بسیاری از برنامه نویسان بارها وقتی در حل مسئله‌ای شکست خورده میخورند و در جزئیات زیادی غرق میشوند، از اول شروع میکنند. تمام اطلاعات را دور ریخته و سعی میکنند مسئله را مجدد بررسی نمایند.

به قول شاعر چشم‌ها را باید شست. جور دیگر باید دید! اشتباه خود را بیابید.

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

جستجو در گوگل یکی دیگر از راه های پیداکردن راه حل برای مشکل است پس حتما این مورد را جدی بگیرید.

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

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

شاید بپرسید: اگر در حل زیر مسئله‌ها به مشکل خوردیم، باید چکار کنیم؟
پیشنهاد من به شما این است:

اول یک نفس عمیق بکشید

دوم نگران نباشید.

این ممکن است برای هر فرد دیگری هم پیش بیاید. اما تفاوت افراد در رفتار آن‌هاست. میپرسید یعنی چه؟

باید خدمتتان عرض کنم ذات سوال و مشکل، معلوم است. در واقع اگر جواب سوالی را میدانستیم اسمش مشکل نبود!
برنامه نویس‌های خوب (یا problem solverها) در مواجه با این سوالات دست به کار میشوند و بررسی راه حل، گوگل کردن، سوال کردن و…. در نهایت جواب را پیدا میکنند. اما افراد شکست خورده، در گام اول به گفتن: من نمیتوانم. جوابش را نمیدانم و… بسنده میکنند و سوال را رها میکنند!

وقتی فکر میکنید به بن بست خورده‌اید از این سه روش استفاده کنید

دیباگ کردن مسئله

ابزار زیادی برای این کار وجود دارد اما در مسائل ساده شما میتوانید به صورت دستی هم دیباگ کنید. مرحله به مرحله جواب را بررسی کنید. باید ببینید در کدام مرحله خروجی‌ای تولید میشود که مورد انتظار شما نیست.

ارزیابی مجدد

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

گاهی ما برای حل یک مسئله در جزئیاتی غرق میشویم که هیچ کمکی به ما نمیکنند. همین موضوع باعث میشود دید کلی‌ای که به مسئله داریم از دست برود و نتوانیم با یک راه حل ساده‌تر و کلی‌تر (more general) سوال را حل کنیم.ارزیابی مجدد

تحقیق کنید

در تفکر برنامه نویس اگر به مشکلی برخورد کردید میتوانید سریعا آن را در گوگل به انگلیسی سرچ کنید. به گوگل اعتماد کنید. اگر جواب سوالتان را در گوگل پیدا نمیکنید، شاید سوال درستی نمیپرسید!

در واقع بسیاری از سوالاتی که با آن‌ها برمیخوریم، قبلا مشکلات افراد دیگری بودند. در نتیجه میتوانید جواب آن‌ها را در گوگل پیدا کنید.

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

سخن پایانی

در پایان، باید تأکید کنم که تسلط به تفکر برنامه نویسی تنها به معنای تسلط بر زبان‌ها و تکنولوژی‌ها نیست، بلکه درک عمیق‌تری از مسائل و توانایی‌های تفکر تجزیه و تحلیلی و حل مشکلات پیش آمده را نیز شامل می‌شود. در دنیای پیچیده و پویای امروز، این مهارت از اهمیت بسیاری برخوردار است و می‌تواند تفاوتی مثبت در مسیر حرفه‌ای شما ایجاد کند.

 

چه امتیازی به این مقاله میدهید

جالب نبود

متوسط

خوب

خیلی خوب

خیلی عالیه

ahmadi

نویسنده

ahmadi

دیدگاه ها
2 دیدگاه