در عصر حاضر، کدنویسی بیش از هر زمانی دیگری مورد اهمیت قرار گرفته است و دلیل این مهم انگاشتن مهارت های کدنویسی این است که ما در عصر فناوری به سر میبریم و در چنین عصری روز به روز نیاز به برنامه نویسی و برنامه نویسان بیشتر خواهد شد. به هر حال، یادگیری برنامه نویسی هم همچون علوم یا مهارت های دیگری با چالش های خاص خود همراه است که پیش از به پایان رساندن این دوره ی آموزشی، قصد داریم راه کارهایی را در اختیار شما قرار دهیم تا با به کارگیری آن ها، این چاش های پیش رو را به حداقل برسانید.
نکته
توجه داشته باشیم که یادگیری برنامه نویسی شبیه به یادگیری رانندگی است. زمانی که شما شروع به فراگیری رانندگی کردید، خیلی برایتان فرقی نمیکرد تا با پراید آموزش ببینید یا جی ال ایکس! پس از آن که یاد گرفتید چگونه کنترل یک خودرو را در دست بگیرید، حال خواهید توانست پشت یک خودروی هامر هم بنشینید. یادگیری برنامه نویسی هم دقیقاً به همین صورت است. پس از آن که شما یک زبان برنامه نویسی را فرا گرفتید، از آن پس یادگیری سایر زبانهای برنامه نویسی برای شما آسانتر خواهد بود.
در ابتدای راه، سعی کنید پروژه های کوچک برنامه نویسی برای خود مشخص سازید -مثلا طراحی صفحه ی تماس با ما در یک سایت- سپس به مرور زمان پروژه های پیشرفتهتر و دشوارتر برای خود تعریف کنید همچون ساخت صفحه ی لاگین یک وب سایت با زبانهای سمت سروری مثل پی اچ پی یا پایتون.
چیزی که در هدف گذاری خیلی مهم است این که حتماً مشخص سازید که کدام یک از بخشهای ایده ی شما ضروری هستند و کدامیک آپشن اضافی محسوب می شوند. در واقع، در هدف گذاری می بایست تمام تلاش خود را به کار بندید تا در ابتدای کار روی ضروریات سرمایهگذاری کنید و وقت خود را روی جزئیات تلف نکنید. این که وب سایت یا اپ موبایل شما -به طور مثال- از همان ابتدا خیلی شکیل و زیبا به نظر برسد و از آخرین متدهای طراحی رابط کاربری در آن استفاده شده باشد شما را از فرایند آموزشی دور می سازد. ابتدا سعی کنید یک وب سایتی که بخشهای ضروری را داشته باشد -مثل صفحه ی گالری تصاویر، تماس با ما، لاگین و غیره- طراحی کنید سپس در ادامه ی راه آپشن های مکمل مثل زیبایی ظاهری و غیره را با استفاده از زبانهای سی اس اس و جاوا اسکریپت به آن بیفزایید.
به خاطر داشته باشید
توجه کنیم که کدهای نوشته شده با زبانهای اچ تی ام ال و سی اس اس علیرغم داشتن باگ، باز هم در مرورگر نمایش داده میشوند اما سایر زبانهای برنامه نویسی بسیار سخت گیرانه تر عمل کرده و یک باگ کوچک در سورس کد، منجر به توقف کامل برنامه خواهد شد!
در چنین مواقعی، اول به دنبال ارورهای سینتکسی بگردید چرا که خیلی وقتها در حین تایپ، برنامه نویسان دچار اشتباه می شوند. سپس به دنبال ارورهای سمنتیک گشته و در نهایت به دنبال راه کارهای منطقی بروید.
اگر هم هیچ کدام از راه کارهای بالا جواب نداد، میتوانید با ثبت نام در سایت Stackoverflow، سورس کد خود را در سایت قرار داده تا سایر برنامه نویسان به کمک شما بیایند و مشکل را ردیابی کنند.
ابزارهایی هم مثل Firebug برای مرورگر فایرفاکس وجود دارند که کمک شایانی به طراحان سایت در دیباگ کردن کدهایشان میکنند که به رایگان میتوان آن را روی مرورگر فایرفاکس نصب کرد.
جالب است بدانید که نسخه ی اول سکان آکادمی به معنای واقعی کلمه افتضاح بود اما تیم توسعه ی این سایت هرگز صبر نکرد تا از لحاظ طراحی ظاهری، قابلیتها و سایر جزئیات به یک سطح حرفهای برسد سپس این سایت را در معرض دید عموم قرار دهد! نسخه ی آلفا در اولین فرصت منتشر شد، سپس به مرور زمان و گرفتن بازخورد از کاربران، بخشهای جدید به این سایت اضافه گردید و چیزی شد که در حال حاضر در اختیار شماست که در حال حاضر هم تحت هیچ عنوان مهر تایید نمی توان روی آن زد و بسیار جای کار دارد!
تیم سکان آکادمی ابتدا هدفش این بود که یک سایت آموزش ویدیویی در هر زمینهای باشد اما به مرور زمان و گرفتن بازخورد از کاربران، هدف سایت محدود شد و به یک سایت آموزش برنامه نویسی و طراحی سایت تغییر ماهیت داد. توجه داشته باشیم که بازخورد گرفتن از کاربران می بایست هم از دید کمی باشد و هم از دید کیفی. مثلاً می بایست دید که کاربران بیشتر روی چه مقالاتی از سایت کلیک میکنند و یا از طریق نظرسنجی، دیدگاه کاربران نسبت به یک نرمافزار را بسنجیم.
پس از گرفتن بازخورد از کاربران، حال نوبت به بازبینی نرمافزار می رسد. در چنین شرایطی، فیدبک ها می بایست رتبه بندی شوند. همواره برخی کاربران هستند که هزاران ایده ی جدید مثلا برای سرویس جیمیل دارند اما الزاماً همه ی آنها، ایدههای خوبی نیستند. شما می بایست بسنجید و ببینید که آیا فیدبک های دریافت شده کمکی به بهبود نرمافزار و UX بهتر میشود یا خیر.
امروزه فرایند تولید یک محصول با ضروری ترین قابلیت ها، سپس گرفتن بازخورد از کاربران و در نهایت رفع نواقص یا افزودن قابلیتهای جدید تحت عنوان Lean Startup Methodology شناخته می شود. در گذشته، روش کار به این شکل بود که وقتی نرم افزاری تولید میشد دیگر به سختی میشد توسعه دهندگان آن نرمافزار را مجاب به تغییر در قابلیتهای نرمافزار کرد تا این که نسخه ی جدیدتری از آن به بازار عرضه می شد. اما امروزه با این روش ناب، به محض مشاهده ی نقصی در نرم افزار، توسعه دهندگان در صدد رفع آن و در نهایت ایجاد یک تجربه کاربری به مراتب بهتر بر خواهند آمد.
به خاطر داشته باشید
این نکته را هم به یاد داشته باشید که همیشه یک بکاپ از سورس کد قدیمی خود داشته باشید چرا که خیلی اوقات در سورس کد جدید باگی بوجود میآید که نیاز دارید تا فعلاً سورس کد قدیمی را مورد استفاده قرار دهید تا باگ در سورس کد جدید رفع گردد.
اگر هم مسائل شغلی و درآمدی را نادیده بگیریم، با یادگیری اصول برنامه نویسی شما از ذهنی تحلیلی برخوردار خواهید شد که علاوه بر لذت بردن از کدنویسی، در سایر بخش های زندگی هم می توانید تصمیمات به مراتب منطقی تر، اثربخش تر و بهتری بگیرید و در نهایت به فردی مبدل خواهید شد که از تفکر انتقادی برخوردار است یعنی مسائل را از زوایای مختلف سنجیده سپس تصمیم می گیرد که صرفا همین یک قابلیت بسیار ارزشمند خواهد بود!
قصد ما در این دوره ی آموزشی هرگز آموزش یک زبان برنامه نویسی نبود بلکه تمام تلاش خود را به کار بستیم تا افراد مبتدی اما در عین حال علاقمند را با حال و هوای دنیای برنامه نویسی، فرایندهای کاری، مسائل رایج و برخی از مهم ترین مفاهیم این حوزه آشنا کنیم.
اکنون نوبت به آن رسیده که یک زبان برنامه نویسی را انتخاب نموده و روزی چند ساعت به یادگیری آن اختصاص دهید که برای یادگیری هم یکی از منابع معرفی شده در فصل سیزدهم را توصیه می کنیم. بازهم یادآور می شویم که یادگیری زبان انگلیسی به عنوان بخش لاینفک ورود به دنیای برنامه نویسی است پس هم زمان با شروع یادگیری یک زبان برنامه نویسی، مهارت خواندن، نوشتن و درک مطلب خود در این زبان بین المللی را نیز تقویت کنید.
منبع: سکان آکادمی