برنامه ریزی برای یک پروژه برنامه نویسی

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

1. برای پروژه برنامه نویسی خود چه برنامه ای دارید؟

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

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

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

2. از چه تکنولوژی استفاده خواهید کرد؟

در این مرحله شما باید در نظر داشته باشید که با چه تکنولوژی هایی آشنا هستید؟  کدام موارد را می توانید بهتر یاد بگیرید و اینکه کدام یک از آن ها برای کار شما مناسب تر است. بسیاری از افراد ممکن است فقط از ” 1. JS+ProcessingJS ” استفاده کنند و این، کار را برایشان آسان تر می کند.

محیط JS+ProcessingJS برای ساخت انیمیشن، بازی، شبیه سازی و تصویر سازی بسیار عالی می باشد؛ اما برای موارد دیگر مثل بازی های چند کاربره، اپلیکیشن های موبایل یا اپلیکیشن های متراکم مناسب نیست. اگر زبان ها یا محیط های دیگری می شناسید (JS+HTML ، Python   SCRATCH ، Swif) و قصد دارید چیزی بسازید که در محیط ProcessingJS کاربردی ندارد، باید تصمیم بگیرید که کدام تکنولوژی یا فناوری برای برنامه شما بهتر عمل می کند. اگر می‌خواهید این موارد را بسازید و فناوری ها را نمی شناسید، پس باید به فکر ایده ای جدید باشید. می توانید برای هر پروژه برنامه نویسی جدید یک تکنولوژی جدید یاد بگیرید؛ اما اگر اختصاصا” می خواهید پروژه برنامه نویسی انجام دهید، بهتر است که ابتدا زبان آن را یاد بگیرید.

3. چه ویژگی هایی باید داشته باشد؟

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

اولین کاری که باید انجام دهید ساختن نمونه (mock-up) است. اشکالی شبیه چیزی که می خواهید بسازید را بدون جزئیات و سایز دقیق درست کنید. این اشکال را در یک تکه کاغذ یا در برنامه‌های آنلاین درست کنید. در زیر یک نمونه از mock-up به شما نشان می دهم. هر صحنه را به صورت جداگانه ترسیم کردم و میان آن ها فلش کشیدم تا نشان دهم که چطور یک تصویر به تصویر دیگر متصل می شود. می توانید از این نمونه برای درست کردن لیست خود استفاده کنید.

ویژگی های پروژه برنامه نویسی

4. برنامه باید شامل چه جزئیاتی باشد؟

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

  • اگر این برنامه را با دوستم به اشتراک  گذاشتم، کدام ویژگی اش برایم اهمیت دارد؟
  • کدام ویژگی برای ساخت برای من اهمیت بیشتری دارد؟
  • کدام ویژگی در ارتباط با برنامه با من اهمیت بیشتری دارد؟
  • کدام ویژگی ها برای اجرای برنامه اهمیت بیشتری دارد؟
  • آیا ویژگی ای وجود دارد که فراتراز مهارت من باشد؟

بعد از پاسخ دادن به این سوالات در ذهن خود، این ویژگی ها را از نظر اهمیت از کمتر به بیشتر طبقه بندی کنید.

5. چگونه ایده خود را پیاده کنید؟

تا الان ویژگی های برنامه خود را برای خود مشخص کردید، اگر از الان شروع به کار کنید یک برنامه کاملا” خالی و بدون کد دارید که این اصلا” خوب نیست. اکنون چه متغیرها و ساختاری را باید در نظر بگیرید؟

یکی از بهترین کار هایی که در این زمینه می توانید انجام دهید، این است که به معماری در سطح بالا برای برنامه ی خود فکر کنید؛ و بعد از آن تعیین کنید از چه کدی می خواهید استفاده کنید. در ابتدا باید کل برنامه را در غالب pseudo-code بسازید – شبه کد – که بعدا” در مورد آن توضیح خواهیم داد. در واقع کل برنامه را در قالب یک متن انگلیسی ساده بنویسید و سپس آن را به یک کد تبدیل کنید.

پروژه برنامه نویسی

6. جدول زمانی یا زمان بندی شما چگونه است؟

برای این برنامه چقدر زمان دارید؟ در هفته و در روز چقدر زمان لازم دارید؟ چه ویژگی هایی را باید یادداشت کنید؟ در این مرحله باید یک زمان هدف برای خود تعیین کنید. جدول زمانی اهمیت بسیار زیادی دارد، چون متوجه خواهید شد چقدر زمان برای کل پروژه برنامه نویسی نیاز دارید. من برای پروژه برنامه نویسی یک بازی Breakout ، 2 تا 4 ساعت در هفته وقت صرف کردم:

هفته ی اول: طراحی و شبه کد

هفته ی دوم: تصویرسازی

هفته ی سوم: حرکت توپ / برخورد مکانیکی

هفته ی چهارم: امتیاز دهی

هفته ی پنجم:  صحنه ها ( شروع/ برد/ باخت )

هفته ی ششم: ادیت/ تست دستی (QA),آماده سازی برای دمو

زمانبندی برای پروژه برنامه نویسی کار بسیار سختی است. بیشتر از آنچه که فکرش را می‌کنید طول می کشد. ( مثل باگ های عجیب غریبی که باید دیباگ شوند ).

آماده اید؟!

خوشبختانه ایده ای برای برنامه ریزی برنامه نویسی به شما دادیم که می تواند شروع الهام‌بخشی باشد. بسته به اینکه چه چیزی می‌خواهید درست کنید، باید دوره های دیگری هم بگذرانید. مساله ای که اهمیت دارد، این است که مطمئن شوید می‌توانید برنامه‌های خود را شروع کنید. این همان جایی است که شما چیزی یاد می گیرید، زمانی که از برنامه نویسی لذت می برید؛ چون می توانید رویای خود را تبدیل به واقعیت کنید.

مطالب مرتبط

نظرات کاربران

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

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *