• خانه
  • چگونه مثل برنامه نویس ها تفکر کنیم؟ بادیز طراحی سایت

چگونه مثل برنامه نویس ها تفکر کنیم؟ بادیز طراحی سایت

 حل مسئله یکی از اصلی‌ترین و مهم‌ترین مسیر پیشرفت هر برنامه‌نویسی هر زبان است.

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

اگر شما به دنیای  برنامه‌نویسی علاقه‌ زیادی داشته باشید، ممکن است قبلاً این جمله را خوانده یا شنیده باشید: 

"همه باید برنامه‌نویسی را یاد بگیرند، زیرا به شما شیوه فکر کردن را می‌آموزد." - استیو جابز

احتمالاً شما ذهن شما با سوال برنامه نویسی چیست و برنامه نویس کیست؟

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

در پایان این مقاله، شما دقیقاً می‌دانید برای حل مشکلات از چ روش استفاده کنید 

با سایت بادیز همراه باشید

چرا این مسئله ها مهم میباشد؟

حل مسئله یکی از مهم ترین مهارت است

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

مگر اینکه سیستمی داشته باشید. اینگونه می‌توانید مسائل را "حل کنید" همان کاری ک هنگام کد زدن استفاده کردم

  1. راه‌حلی را در ابتدا امتحان کنید.
  2. اگر این جواب نمی‌دهد، یک مورد دیگر از راه حل ها را امتحان کنید.
  3. اگر آن هم جواب نمی‌دهد، مرحله قبلرا تکرار کنید تا اینکه موفق شوید.
  4. بگید ن هنوز همیشه تلاش کنید

ببینید، گاهی‌اوقات موفق می‌شوید. اما این بدترین راه برای حل مسائل است! و این اتلاف وقت بسیار زیاد است.

بهترین راه شامل: الف) داشتن فریمورک و کار با آن و ب) تمرین و تکرار مکرر آن است.

"تقریباً همه کارفرمایان ابتدا مهارت‌های حل مسئله را در اولویت قرار می‌دهند.مهارت حل مسئله تقریباً به اتفاق آراء مهم‌ترین صلاحیتی است که کارفرمایان به دنبال آن هستند . بیش‌تر از مهارت‌های زبان برنامه‌نویسی، مشکل‌یابی و طراحی سیستم.

نشان دادن تفکر محاسباتی یا توانایی تجزیه مشکلات پیچیده به همان اندازه ارزشمند است که مهارت های فنی پایه مورد نیاز برای یک شغل است- 

بیشتر به این 2 مورد بپردازیم 

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

برای پیدا کردن یک فریمورک یا چارچوب مناسب، من از توصیه‌های کتاب آموزشی  Tim Ferriss پیروی کردم.

این باعث شد که من با دو نفر مصاحبه کنم: C. Jordan Ball (رتبه ۱ یا ۲ با بیش از ۶۵۰۰۰ کاربر در Coderbyte) و V. Anton Spraul (نویسنده کتاب "مثل یک برنامه‌نویس فکر کنید: مقدمه‌ای برای حل مسئله خلاق").

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

به زودی، شما نیز آن‌ها را خواهید شناخت.

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

"بزرگترین اشتباهی که من از برنامه‌نویسان جدید می‌بینم این است که به جای یادگیری چگونگی حل مسائل، روی یادگیری سینتکس (قواعد نوشتاری) تمرکز می‌کنند. " —   V. Anton Spraul

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

مراحل در زیر ذکر شده است:

۱. فهمیدن

دقیقاً بدانید چه چیزی از شما خواسته می‌شود، بیش‌تر مسائل سخت است زیرا شما آن‌ها را نمی‌فهمید اولین قدم شما

سوال:چگونه بدانیم مسئله‌ای را فهمیدیم؟ آن را درک کرده ایم جواب:زمانی‌که بتوانیم آن را به زبان ساده توضیح دهیم. به تکه های کوچیک تحلیل کنیم

بیش‌تر برنامه‌نویسان این احساس را می دانند

به همین دلیل است که باید مشکل (مسئله) خود را روی کاغد بنویسید، یک جدول (چارتtable) بکشید، یا با کس دیگری مشورت کنید

“اگر نمی‌توانید چیزی را به زبان ساده توضیح دهید،پس آن را درک نکردید." - ریچارد فاینمن

۲. برنامه‌ریزی

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

برای به دست آوردن یک برنامه خوب، به این سوال پاسخ دهید:

"با توجه به ورودی X ، چه مراحلی لازم است تا خروجی Y را به ما برگرداند؟" یکم فکر کنید . تحلیل کنید 

یادداشت: برنامه‌نویسان ابزاری عالی برای کمک به خودشان در این زمینه دارند .

۳. تقسیم‌بندی

توجه کنید.این مهم‌ترین مرحله تقسیم بندی است.

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

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

سپس، مسئله کوچک را یکی یکی حل کنید. با ساده ترین شروع کنید. ساده‌ترین بدان معنی است که شما جواب را می‌دانید (یا به آن پاسخ نزدیک‌تر هستید).

تمرین

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

چگونه تمرین کنیم؟ گزینه‌های خارج از wazoo وجود دارد!

معما‌های شطرنج، مسئله‌های ریاضی، سودوکو، Go، مونوپولی ، بازی‌های ویدئویی و... .

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

ایلان [ماسک] ، رید [هافمن] ، مارک زاکربرگ و بسیاری دیگر می گویند که بازی‌ها اساس موفقیت آن‌ها در ساخت شرکت‌هایشان بود. ”- مری میکر

آیا این بدان معنی است که شما فقط باید بازی‌های ویدئویی انجام دهید؟ Gameنه اصلا.

اما بازی‌های ویدئویی چه کاربردی دارند؟ درست است، حل مسئله!

بنابراین، کاری که شما باید انجام دهید این است که یک محل برای تمرین پیدا کنید. چیزی که به شما امکان می‌دهد بسیاری از مسائل کوچک را حل کنید (در حالت ایده آل، چیزی که از آن لذت می‌برید).

به عنوان مثال، من از چالش‌های کدنویسی لذت می‌برم. هر روز، من سعی می‌کنم حداقل یک چالش را حل کنم (معمولاً در Coderbyte).

همانطور که گفتم، همه مسائل الگو‌های مشابه‌ای دارند.

همین حالا با آموخته هایی ک یاد گرفتید برید مشکلات را حل کنید

درباره ما

فرشاد زادمهر - بنیان گذار

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

دسته ها

ما را دنبال کنید