برنامه نویسی یک هنر است که حتما باید با علاقه شروع شود و میتوان گفت برنامه نویسی ساده است و هرکس با گذاشتن کمی زمان می توانند برنامه نویسی را یاد بگیرند ولی طبیعی است که اگر هر کاری را بخواهیم به طورر تخصصی انجام دهیم با سختی ها و دشواری های آن مواجه خوهیم شد . به عنوان مثال اگر قرار باشد یک قابلیت جدید در برنامه اضافه شود برنامه نویس مجبور به دستکاری قسمت های کد انجام دهد و بتواند نیاز های دیگر را بسنجد و حتی احتمالات اضافه شدن فیچر های دیگر را نیز در نظر بگیرد و براسا ان کدنویسی کند . طبیعی است که این کار با تجربه یک برنامه نویس تازه کر امکان پذیر نیست وهمین کار باعث دلزدگی یک برنامه نویسی مبتدی می شود و ممکن است آن شخصی به طور کلی از دنیای برنامه سازی خداحافظی کند .درادامه با ما همراه باشید تا با چند ترفند ساده بتوانید خودرا از یک برنامه نویسی مبتدی به یک برنامه نویس خبره تبدیل شوید .
کدهای قابل فهم بنویسید
برنامهنویسان باید به این درک برسند که برای کامپیوترها کد نمیزنند بلکه خود و دیگر انسانهایی از جنس خودشان قرار است با این کدها سر و کار داشته باشند؛ بنابراین نوشتن کدهای قابلفهم در کدنویسی، اهمیت بسیار بالایی دارد. در حین کدنویسی، باید اطمینان پیدا کنید که از یک قانون نامگذاری ثابت برای متغیرها، فانکشنها، کلاسها و … پیروی میکنید. علاوه بر این، از یک متغیر یا فانکشن به همراه فاصلهگذاری مناسب استفاده کنید. این روش به شما کمک میکند که کدهای استانداردی بنویسید و اطمینان پیدا کنید که در تمام سورسکد، از شیوهٔ یکسانی برای کدنویسی استفاده شده است.
همیشه بیان شده است که در کدنویسی های خود از کامنت گذاری استفاده کنید ولی اگر واقع بین باشیم باد یک کد به طوری نوشته شده باد که خو آن ماهیت خودرا در برنامه بیان کند و نیازی به کامنت گذاری هم نداشته باشد مگر در زمان های خیلی ضروری . میتوان برای شروع از تابع ها و متغیر هایی که خودشان عملکرد خود را دربرنامه نشان میدهند استفاده کنید برای مثال اگر قرار است پول یک کاربر در یک متغیر قرار بگیرد به جای استفاده از نام MONY میتوان از اسم UserTotalMoney استفاده کرد که با یک نگاه میتوان فهمید نقش این متغییر در برنامه چیست .
از قابلیت های فضایی استفاده نکنید
این مشکل بیشتر برای برنامه نویسان نیمه حرفه ای و مبتدی پیش می اید و همین امر بیشتر برنامه نویسان خبره را اذیت می کند معمولا برنامه نویسان سعی میکنند برای این که قابلیت های خود را نشان دهند از قابلیت هایی که حتی شاید برنامه به آن نیاز ندارد استفاده میکنند وهمین کار باعث کند پیش رفتن روند انجام پروژه وعدم تمرکز شما بر روی هدف شود . سعی کنید تمرکز خود را روی هدف اصلیتان بگذارید و راهایی را در برناه استفاده کنید که شما را به نزدیک شدن هدفتان کمک می کند .
استفاده از ساختار کدنویسی خوب
ساختار کدنویسی مورد استفادهٔ شما، کمک زیادی به خوانا بودن کدهایتان میکند؛ لذا بهتر است کدهای خود را به شکلی دستهبندی کنید که به راحتی قابل اصلاح باشند و تنها در این صورت است که میتوانید با یک اسکرول ساده به دنبال باگها و خطاهای موجود بگردید.
اما گذاشتن تمام کدها در یک فایل کاری است که هنگام دیباگ کردن دردسرساز خواهد شد. به جای چنین کاری، کدها را بر اساس عملکردشان در گروههای مختلف دستهبندی کنید. به طور مثال، با استفاده از کلاسهای مختلفی که حاوی فانکشنهایی هستند که وظایف مرتبط با یکدیگر را انجام میدهند، میتوانید این اطمینان را حاصل کنید که از ساختار کدنویسی مرتبی برخوردار خواهید شد.
به طور مثال، اگر بخواهید در برنامهٔ خود عملکردهای مرتبط با کاربران را هَندل کنید، به سادگی میتوانید یک کلاس تحت عنوان مثلاً UserClass درست نموده و کلیهٔ فانکشنهای مرتبط با فیچرهای مختلف کاربران همچون اضافه کردن کاربر، آپدیت کردن کاربر، حذف کردن کاربر، گرفتن اطلاعات کاربر و غیره را در قالب فانکشنهایی به این کلاس اضافه نمایید.
دیباگ کردن صحیح را یاد بگیرید
به خاطر داشته باشید که هر جا کدی هست، باگی هم ممکن است وجود داشته باشد به همین دلیل بهتر است به جای اینکه سعی کنید اصلاً به باگ نخورید، یاد بگیرید که چگونه هوشمندانه دیباگ کنید.
اگر فکر میکنید که با آزمون و خطا کردن دیباگ میکنید و مشکل حل میشود، سخت در اشتباهید! پس بهتر است یادگیری مهارتهای لازم در این زمینه را جدی بگیرید. نرمافزارهای دیباگکنندهٔ بسیاری برای این کار توسعه داده شدهاند که به راحتی میتوانند در انجام این عمل به شما کمک کنند.
یکی از راهکارهای یادگیری فرایند دیباگ کردن، در حین یادگیری یک زبان برنامهنویسی است؛ به عبارت دیگر، زمانی که شما یک زبان برنامهنویسی جدید -مثلاً جاوا- را فرا میگیرید و کدی نوشتهاید که به درستی کار میکند، حال از عمد شروع به دستکاری سورسکد خود کرده و برنامه را اجرا کنید تا ببینید چه خطایی در معرض دیدتان قرار میگیرد. پس از آشنایی با خطا، کد را به حالت اول درآورده و به سراغ بخش دیگری از سورسکد بروید. در چنین حالتی، شما با خطاهای احتمالی که ممکن است در برنامههای واقعی برایتان پیش بیایند آشنا خواهید شد.
کد قابل مدیریت بنویسید
یکی از مهم ترین نکاتی که بیشتر برنامه نویسان از آن چشم پوشی میکنند کد غیر قابل مدیریت است برنامه نویسان با این تفکر هستند که یک برنامه را می نویسند و دیگر نیازی به دستکاری آن نیست ! بلکه شما باید همیشه آماده ویرایش ها و به روزرسانی هایی که قرار است در برامه شما انجام شود باشید وحتی پس از چندین ماه هم کد را خوانید بتوانید آن را تحلیل کنید و حتی اگر سورس شما به یک برنامه نویس دیگر نیز منتقل شد آن شخص هم بتواند از کد شما سردر بیاورد .
قبل از شروع به کدزنی برنامهریزی کنید
برنامهریزی درست قبل از شروع به کدزنی به شما کمک میکند که برای پیادهسازی ایدهای که در سر دارید آماده شوید. بهتر است قبل از شروع هر کاری و نه فقط در زمان کد زدن، یک برنامهٔ مشخص در ذهن داشته باشید. اگر بدانید که قرار است با چه چیزی مواجه شوید و برای رسیدن به آن نقشهٔ از پیش تعیین شدهای داشته باشید، بدون شک زمان کمتری را به هدر میدهید و به سردرگمی نمیرسید. بهتر است همواره تمام قدمهایی که شما را به هدف نهاییتان نزدیکتر میکنند، در ذهن داشته باشید. به طور مثال، یکی از جنبههایی که شدیداً نیاز به بررسی دارد، تحلیل دیتابیس است. اجازه دهید برای روشنتر شدن این مسئله مثالی بزنیم.
فرض کنیم که قصد داریم یک وبلاگ توسعه دهیم؛ در این وبلاگ قرار است مقالات در دستهبندیهای مختلف تقسیمبندی شوند؛ مثلاً یک مقاله در دستهٔ برنامهنویسی، یک مقاله در دستهٔ تجربهٔ کاربری و مقالهٔ دیگری هم در بخش طراحی سایت. وبلاگ با این طرح کدنویسی شده اما پس از چند سال میبینیم که تمایل داریم یک مقالهای که در دستهبندی برنامهنویسی بود، در دستهبندی طراحی سایت هم نمایش داده شود اما این در حالی است که طراحی دیتابیس ما اجازهٔ چنین کاری را نخواهد داد و بخشهایی از اسکمای دیتابیس و سورسکد را میبایست ریفکتور کرد. در صورتی که پیش از تحلیل این پروژه به این فکر میکردیم که شاید روزی قرار باشد یک مقاله در دستهبندیهای مختلف قرار گیرد، از همان بدو امر میتوانستیم یک تیبل اصطلاحاً یکبهچند هم داشته باشیم تا از آن طریق بتوانیم این فیچر ساده را پیادهسازی کنیم.
به طور کلی، تحلیل اولیهٔ پروژه کار نسبتاً دشواری است چرا که شما به عنوان یک توسعهدهنده باید علاوه بر نیازهای فعلی پروژه، احتمالاتی که در آینده ممکن است اتفاق بیافتند را نیز پیشبینی کنید؛ در چنین شرایطی، توصیه میشود که پس از تکمیل تحلیل اولیهٔ پروژه، با یک برنامهنویسی که در این پروژه حضور ندارد هم مشورت کنید. با توجه به اینکه چنین فردی اصطلاحاً Out of The Box (خارج از گود) به قضیه نگاه میکند، ممکن است که دید به مراتب بازتری نسبت به شما داشته باشد و چیزهایی را ببیند که شما حواستان به آنها نبوده است!
از سیستمهای ورژن کنترل استفاده کنید
استفاده از سرویسهای ورژن کنترلی مانند گیت یکی از خصیصههای برنامهنویسان حرفهای است؛ این سیستمها به شما کمک خواهند کرد تا بدون اینکه مجبور باشید کدهایتان را خطبهخط به دنبال یک اشتباه مرور کنید مشکل را پیدا کنید، به نسخههای پیشین سورسکد رجوع کنید و مجدد از آنها استفاده نمایید و مهمتر از همه اینکه به صورت گروهی روی پروژهای واحد کار کنید. به طور کلی، سیستمهایی همچون Git این امکان را به شما میدهند تا کل پروژهٔ خود را بارها و بارها بررسی کرده و اگر نیاز باشد سالهای آتی برای انجام تغییری به کدهایتان سر بزنید و اصلاحی انجام دهید.
برای یادگیری تلاش کنید و دانش خود را گسترش دهید
سعی کنید در هر فرصتی، چیز جدیدی برای یادگیری پیدا کنید به خصوص این روزها که همه چیز در دنیای توسعهٔ نرمافزار به سرعت در حال پیشرفت است. اگر سرعت خود را با سرعت این پیشرفت تنظیم نکنید، جزو آن دسته از افرادی خواهید بود که از متدهای قدیمی و از رده خارج برنامهنویسی استفاده میکنند و مهارتهایی دارند که این روزها کسی به دنبالشان نیست و در نتیجه کسی از کار کردن با شما لذت نخواهد برد!
مثلاً اگر برنامهنویس پایتون هستید، این قانون شخصی را برای خود در نظر بگیرید که هر روز یک چیز جدید در ارتباط با این زبان برنامهنویسی محبوب فرا بگیرید؛ با یک حساب سرانگشتی، خواهید دید که در هر سال ۳۶۵ نکتهٔ جدید یا خواهید گرفت که بسیار گرانبها است!
یک IDE حرفهای انتخاب کنید
بهرهگیری از یک ادیتور مناسب تغییر قابلتوجهی در سرعت کدنویسی شما ایجاد میکند و کار شما را بسیار آسانتر از قبل میکند.حتی برنامهنویسان فوق حرفهای هم نیاز دارند که این دوست خوب را کنار خود داشته باشند و در کامل کردن کدهای خود از آن کمک بگیرند.
به طور کلی، توصیه میشود کسانی که در ابتدای راه برنامهنویسی هستند تحت هیچ عنوان از IDE استفاده نکنند چرا که این دست نرمافزارها منجر به تنبل شدن برنامهنویس میشوند! اگر در ابتدای راه یادگیری یک زبان برنامهنویسی هستید، توصیه این است که از یک ادیتور کد ساده مثل Notepad در ویندوز، Gedit در لینوکس یا TextMate در مک استفاده کنید. زمانی که شما در ابتدای راه مجبور شوید که هر چیزی را خودتان تایپ کنید و یا مثلاً فکر کنید که فلان فانکشن که برای فلان کار است نامش چه بود، خواهید دید که پس از مدت زمانی کوتاه اصول کار ملکهٔ ذهنتان خواهد شد.
پس از اینکه همه چیز ملکهٔ ذهنتان شد، میتوانید از یک IDE حرفهای همچون php storm، نت بینز و غیره استفاده کرده و تا سرعت کدنویسی شما بالا رفته و در عین حال فرصت داشته باشید روی الگوریتمهای پروژهٔ خود فکر بیشتر کنید.
در استفاده از پروتوتایپها زیادهروی نکنید
استفاده از کد های آماده در پروژه های امروزه به شدت دیده می شود البته ابن کار برای تسرع در روند پروژه مناسب است ولی استفاده زیاد آن می تواند جالب نباشد.
بسیاری از دولوپرها برای تمام کردن پروژه و رساندن آن به مراحل نهایی از پروتوتایپها -پروژههای از پیش نوشته شده- بهره میگیرند. علیرغم اینکه به پایان رساندن یک پروژه نیازمند کار و تلاش بیوقفه است، بهترین کار این است که خود شما آخرین نفری باشید که روی آن زمان میگذارید و برایش کوشش میکنید. استفاده از پروتوتایپها راه را برای شما راحت و کوتاه میکنند.
به طور کلی، اگر میخواهید در دنیای پررقابت برنامهنویسی باقی بمانید و همیشه برایتان کار باشد، از کارهایی که برنامهنویسان حرفهای انجام میدهند که ۱۰ مورد از مهمترین آنها را در بالا یادآور شدیم هرگز غافل نشوید.
به نظر شما برنامهنویسان حرفهای به غیر از موارد فوق چه ویژگیهای دیگری دارند که آنها را از سایرین متمایز میکند؟ نظرات خود را با ما و سایر کاربران به اشتراک بگذارید.