چگونه یک برنامه نویس شوید !!

شنبه 1 آبان 1395

در این مقاله دیدگاه های نویسنده (John Simmons) درباره ی راه ها و همچنین روند یک برنامه نویس شدن بیان می شود. این نویسنده تجربه ی بیش از 30 سال برنامه نویسی را در این مقاله در اختیار برنامه نویسان تازه کار قرار می دهد.

چگونه یک برنامه نویس شوید !!

فلسفه کدنویسی

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

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

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

بخشی از بک تیم بودن

در اینجا مطالبی را که می تواند برای کارگروهی و تیمی شما موثر واقع شود را بیان می کنیم.

روی وظیفه ای که به شما متحول شده ، کار کنید.

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

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

تعامل با سایر برنامه نویسان تیم

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

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

پیشنهادات ، انتقادات و سیاست های برنامه نویسی

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

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

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

همچنین اگر یک اشتباه را متذکر می شوید، باید راه حلی برای برطرف کردن آن نیز ارائه بدهید. بدون داشتن یک راه حل، نظر شما چندان اهمیتی نخواهد داشت.

کدی همراه با مشخصات خاص

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

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

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

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

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

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

روش کدنویسی - به روش خودتان بنویسید !(البته تا زمانی که شرایط به شما اجازه بدهد!)

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

کامنت گذاری در کد

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

من مطالب زیر را به عنوان توصیه و پیشنهاد برای شروع یک برنامه نویس شدن به شما ارائه می کنم. این مطالب در همه زمینه ها (مستقل از این که پلتفرم و یا زبان شما چیست) می توانند به درد شما بخورند.

0) همیشه کد های خودتان را کامنت گذاری کنید. بهترین روش این است که همراه با توسعه و تکمیل پروژه ، آن را کامنت گذاری کنید. اگر کد های خودتان را کامنت گذاری نکنید، بعدها متوجه خواهید شد که نگهداری آن چقدر دشوار خواهد بود. اگر این کار را به پایان پروژه موکول کنید، احتمالا زمان چندانی برای بازگشت و کامنت گذاری نخواهید داشت.

1) هیچ گاه اینطور فکر نکنید که بقیه افراد می دانند شما چه فکری هنگام نوشتن کدها در سر داشته اید. هر نظر و یا هر ایده ای که فکر می کنید می تواند برای سایر افراد مبهم باشد را در کامنت گذاری ها بنویسید.

2) از این که کامنت ها طولانی شوند، نترسید. کامنت های کوتاه ، برخی اوقات می توانند باعث برداشت اشتباه مطالب شوند. چون کامنت ها هیچ تاثیری در حجم برنامه شما ندارند، بنابراین می توانید با خیال راحت به کامنت گذاری کدهایتان بپردازید.

3) در ابزار های شرکت Microsoft می توانید از مواردی که در درون سیستم Intellisense  وجود دارد، استفاده کنید.

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

5) همه ی Property ها باید دارای Intellisense Comment باشند.

6) این روش کامنت گذاری را برای خودتان به عنوان یک تمرین در نظر بگیرید و با انجام مداوم آن ها ، این روش را برای خودتان به شکل یک عادت دربیاورید.

7)اگر این امکان را دارید که از یک برنامه نویس دیگر کمک بگیرید تا بتواند با دادن داده های اشتباه ( داده های اشتباه عمدی) برنامه شما را تست کند، بسیار خوب است.

8) اگر از برنامه Visual Studio استفاده می کنید، نحوه کار با debugger تعبیه شده در این برنامه را یاد بگیرید. اهمیت این کار بسیار زیاد است زیرا احتمالا شما بیشتر زمان خودتان را در همین مرحله خواهید گذراند. می توانید برای تمرین بیشتر، کدهایی که سایر افراد را نوشته اند را نیز دیباگ و اشکال زدایی کنید. اگر به مشکلی برخورد کردید، همه راه حل های مناسب برای رفع آن را امتحان کنید.

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

 

 

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

نویسنده 3355 مقاله در برنامه نویسان

کاربرانی که از نویسنده این مقاله تشکر کرده اند

در صورتی که در رابطه با این مقاله سوالی دارید، در تاپیک های انجمن مطرح کنید