5 تکنیک برای کدنویسی بهتر

برنامه نویسان زیادی پس از سال ها کدنویسی خود را در مقابل یک دیوار غیر قابل عبور تصور می کنند در حالی که غلبه بر این دیوار چیزی است که توسعه دهندگان معمولی را از حرفه ای ها جدا می کند. در حالی که عدم امیدواری به عبور از این چالش باعث ضربه زدن به آن ها می شود.
اگر فکر می کنید که آماده توسعه برنامه های واقعی و کاربردی هستید، باید یادبگیرید که چگونه کدهای برنامه را با خوانایی فوق العاده همراه با قابلیت نگهداری و تست پذیری بالا بنویسید.
با توجه به اینکه شما چه میزان مستعد این کار هستید می تواند زمانبر باشد از ماه ها تا سالها و یا دهه ها درگیر توسعه پروژه هایی با این شرایط باشید. اما رعایت چندین نکته ضروری می تواند به شما در بهبود عملکردتان کمک کند. در ادامه این مقاله با ما همراه باشید.
1. افزایش خوانایی کدها
نوشتن کدهای جدید می تواند طاقت فرسا باشد، اما تلاش برای فهمیدن کد شخصی می تواند به یک کابوس تبدیل شود. در چندین سال گذشته برنامه نویس ها کنوانسیون های مختلفی را برای رسیدن به یک استاندارد کلی ارائه داده اند بسیاری از این ها بر اساس ساختارهایی مثل ( Zend Framework Coding Standard, PSR-1 & PSR-2, or Google’s Style Guides) طرح ریزی شده اند.
استانداردهای برنامه نویسی تمامی موارد از جمله تورفتگی های مناسب، استفاده از فضای سفید، نامگذاری ها و اعلامیه ها را تحت پوشش قرار می دهند.
هدف تمامی آنها کمک به توسعه دهندگان برای نوشتن کدهایی با خوانایی بالا است که به خوبی سازمان یافته و نگهداری آن بسیار آسان است.
برای اینکه کدهایی که برای توسعه یک برنامه می نویسید از خوانایی خوبی برخوردار باشد سعی کنید بخش های مختلف کد را به همراه کامنت هایی (comment) بنویسید که معنی و مفهوم هر بخش از کد کاملا مشخص باشد.
هرچند نوشتن کامنت های مفید دشوارتر از آن چیزی که فکر می کنید به نظر می رسد.
توسعه دهندگان تمایل دارند تا فرضیات مختلفی را انجام دهند و این انتظار را دارند تا سایر افراد نسب به کدی که شاید خودشان نسب به آن گارد می گیرند اطلاعات کافی داشته باشند.
از طرفی اغلب آنها سعی می کنند تنها بخش هایی که ابهامات زیادی ممکن است داشته باشید را توضیح دهند و برای آن کامنت درج کنند و شاید دلیل آن این باشد که می ترسند نسبت به بدیهیاتی که در پروژه و کدهایی نوشته شده وجود دارد مورد تمسخر قرار گیرند.
با این وجود رسیدن به شرایطی که بتوان به بهترین شکل ممکن از کامنت ها در توضیح کدها استفاده کرد نیازمند زمان، صبر و تلاش است. این یک مهارت اساسی برای هر توسعه دهنده ای محسوب می شود تا بتواند بهتر کد بزند و با درک استانداردهای لازم برای توسعه برنامه های مختلف مهارت های لازم را کسب کند.
2. اجتناب از متغییرهای سراسری (Global)
تصور کنید که در حال ساخت یک برنامه ساده به همراه صفحه لاگین هستید و می دانید که نام کاربری کاربر در چندین صفحه مورد نیاز است شما می توانید از زوایای مختلفی به این مسئله ورود کنید اما استفاده از یک متغییر سراسری شاید کمترین مقاومتی باشد که شما نسبت به این چالش داشته باشید.
متغییرهای سراسری مانند یک بمب ساعتی هستند که ممکن است هر لحظه منفجر شوند و روند اجرای کل پروژه را مختل کنند. دلیل این حساسیت این است که متغییرهای سراسری در همه جای پروژه در دسترس هستند و مشکل زمانی به وجود می آید که شما فکر می کنید که از یک متغییر محلی استفاده کرده اید در حالی که خلاف این قضیه وجود دارد و آن متغییر را سراسری تعریف کرده اید و این شرایط حتی می تواند در عمل عکس این مورد باشد. بعلاوه متغییرهای سراسری عکس مورد اول در این مقاله را به وجود می آورند و در کنار اینکه خوانایی کد را کم می کنند تست برنامه را به شکل قابل ملاحضه ای دشوار می کنند. پس سعی کنید استفاده از متغییرهای سراسری را به حداقل برسانید.
3. کدهای سایر توسعه دهنده ها را ببینید و سعی کنید از آنچه هست بهتر کد بزنید
ماهیت برنامه نویسی حل چالش های موجود است و به ندرت پیش می آید که تنها یک راه حل برای حل این چالش ها وجود داشته باشد. در بسیاری از پروژه ها می تواند از چندین زاویه مختلف با این مشکلات رو به رو شد و اغلب تصمیم گیری برای انتحاب بهترین راه حل دشوار است.
اگر هدف شما از این پروژه و برنامه نویسی آن امرار معاش است پس احتمالا اولین راه حلی که به ذهنتان می رسد را به عنوان بهترین راه حل در نظر می گیرید چون زمان کافی برای فکر بیشتر و رسیدن به راه حل بهتر ندارید.
به همین دلیل دیدن کدهای دیگران در این حالت می تواند خیلی به شما کمک کند تا با سبک های مختلف و راه حل های متفاوت آشنا شوید.
وقتی کد دیگران را میبینید یعنی از زاویه دید آنها به آن مشکل نگاه می کنید و البته با راه حلی که آنها مورد استفاده قرار داده اند آشنا می شوید.
این باعث می شود تا اگر زمانی با مشکلی مشابه رو به رو شدید راه حل های بیشتری برای حل آن چالش داشته باشید راه حل هایی که شاید بهتر از راه حل شما باشد.
توجه داشته باشید دیدن کدهای دیگران راهی برای کدنویسی بهتر است نه کپی کردن کدی که خودتان ننوشته اید.
در حقیقت قبول کردن راه حل های دیگران به صورت کورکورانه رشد شما به عنوان یک توسعه دهنده را دچار حیرت می کند و این آخرین چیزی است که شما می خواهید.
4. اصلاح کد را بپذیرید و آن را هرگز فراموش نکنید
بیشتر نویسنده ها از خواندن کارهای خود متنفر اند و البته در جوامع برنامه نویسی هم تا حدودی رویکردی مشابه حاکم است یه توسعه دهنده از اینکه کد خود را بازنویسی مجدد کند متنفر است.
هرچند روند تغییر کد و یا تغییر ساختار کد بدون تغییر رفتار بیرونی آن کد مد نظر نیست اما بیش از حد می تواند ضروری باشد.
Joshua Kerievsky نویسنده اصلاح الگوها : با بهبود مداوم کدها در واقع کار کردن با آن را آسان و آسانتر می کنیم. این کاملا با آنچه در واقعیت اتفاق می افتد در تضاد است : کم ریفکتور کردن کدها و توجه به افزودن مصلحتی ویژگی های جدید. اگر اجرای اصلاحات کد به یک امر طبیعی در روند توسعه برای شما تبدیل شود خواهید دید که این کار از توسعه و پشتیبانی کد راحتر است.
ریفکتور کردن کدها امری مهم است اما مهمتر از این شما باید سعی کنید توابع و روش های بزرگ را به بخش های کوچک تر تقسیم کنید. فرض کنید اگر تابع شما بیش از 25 لاین است می توانید آن را به دو یا سه بخش کوچک تر تقسیم کنید و با این کار خوانایی کد را افزایش دهید.
5. از مزایای نرم افزارها و سیستم های کنترل ورژن استفاده کنید
شاید در گذشته زمانی که javascript یک زبان که عمومیت گسترده ای نداشت بررسی کدهای و هماهنگ کردن کارها در بین افراد مختلف کار دشواری بود. خوشبختانه با توجه به تغییرات گسترده تا به امروز سیستم ها و نرم افزارهای کنترل ورژن وظیفه بررسی تغییرات در فایل ها را انجام می دهند.
برای آشنایی و استفاده از ابزار git پیشنهاد می کنم در دوره آموزش git و github شرکت کنید.
امروزه تمامی توسعه دهندگانی که در فکر کد نویسی بهتر و تمیز تر هستند برای بهبود کارایی خود و جریان کاری از این ساختارها که می شود گفت git، Fossil و mercurial برخی از آن می باشد استفاده می کنند
نتیجه گیری :
فک می کنم تا حدودی متوجه ساختار مطلوب برای کدها یک پروژه شده اید و البته راهکارهایی که می تواند این مسئله را خیلی بهتر فرآهم کند می توانم بگویم اگر به شکلی کد می زنید که همه چیزه با پیچیدگی خاصی مواجه هست پس باید حتما این روند را بهبود دهید و روند کاری خود را تغییر دهید زیرا این کار به شما و شرایط کاریتان لطمه خواهد زد کدتان را قابل پشتیبانی و استفاده مجدد کنید تا مورد تحسین دیگران قرار گیرید هر چند راه طولانی در پیش رویتان است اما این 5 نکته می تواند شروع خوبی برایتان باشد.
دیدگاهتان را بنویسید