10 روش برای بهبود کدها بعد از تمام شدن نوشتن آنها

پنجشنبه 28 فروردین 1399

بعد از اتمام برنامه نویسی شما باید اقدام به بهبود کدهای خود کنید. ما در این مطلب قصد داریم ده روش بسیار مهم برای بهبود کدها را در اختیار شما قرار دهیم.

 10 روش برای بهبود کدها بعد از تمام شدن نوشتن آنها

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

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

مقدمه ای درباره بهبود کدها بعد از اتمام آنها

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

در این جا 10 مورد را برای شما آورده ایم که بعد از کمی استراحت و بازیابی خود باید آنها را برای بهبود کدها انجام دهید.

 بهبود کد

کار کردن با ابزار Lint

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

 بهبود کد

بررسی پروفایل در بهبود کدها

Don Knuth زمانی در این باره می گفت: " بهینه سازی زودتر از موعد می تواند مشکلات بسیار زیادی را برای شما ایجاد کند چرا که این موضوع می تواند احمقانه باشد که شروع به اصلاح و بهبود کدهایی کنید که تنها برخی از زمان ها اجرا می شوند و هنوز به میزان کافی از آنها استفاده نشده است. اکنون که برنامه نویسی را تمام کردید زمان آن است که یک profiler را اجرا کنید و به دنبال نقاط مشکل ساز و یا نقاط عطف در کدهای خود باشید. گاهی اوقات ممکن است پیش بیاید که ده درصد از کدهای شما 90 درصد از زمان و منابع شما را تلف کنند. گاهی اوقات ممکن است حلقه های داخلی بسیار کوچکی وجود داشته باشند که 99 درصد چرخه ها را جذب خود می کنند. اگر شما بتوانید هم اکنون آنها را علامت گذاری کنید در آینده هزینه کمتری را در قبال آنها خواهید پرداخت.

 بهبود کد

حذف ابزارهای دیباگ

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

 بهبود کد

آنالیز کردن کدها با هوش مصنوعی

برنامه نویسان قدیمی از عبارت های منظم پایه ای و همینطور دستورهای قدیمی برای گشتن به دنبال مشکلات در برنامه استفاده می کردند. برنامه نویسان مدرن علاوه بر این ابزارها می توانند از ابزارهای مبتنی بر هوش مصنوعی نیز برای این کار کمک بگیرند. به عنوان مثال CodeGuru که برای شرکت آمازون است از مدل های بسیار بزرگ یادگیری ماشین استفاده می کند تا به دنبال مشکلات در کدهای شما باشد و به شما در بهبود کدها کمک کند. این یک روند کاملا خودکار است که برای عملیات های profiling و آنالیزهای کوچک طراحی و ساخته شده است.

 بهبود کد

سازماندهی کردن داده ها برای بهبود کدها

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

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

 بهبود کد

بهینه سازی جریان داده ها

بسیاری از اپلیکیشن ها می توانند از مزیت های کش های سریع بهره مند شوند که این کار می تواند از طریق سرور و اینترنت انجام شود. اضافه کردن یک حافظه کش توزیع شده و یا ادغام سازی یک CDN یکی از ساده ترین روش ها برای بالا بردن عملکرد توسط کاربران می باشد.

بهینه سازی داده

نیازی نیست که تمامی داده ها دارای اندازه ای بزرگ باشند. تصاویر یکی از ساده ترین جاهایی هستند برای کاهش سایز هستند بدون این که نیاز داشته باشید زمان زیادی را صرف آنها کنید. جزئیات مربوط به سبک پس زمینه های انتخابی می توانند با دستورات CSS جایگزین شوند و با استفاده از قابلیت پر کردن با استفاده از gradient که باعث کاهش فضای دیسک و همینطور پهنای باند می شود. عکاس ها و هنرمندان گاهی اوقات علاقه مند هستند که اطلاعات و جزئیات را به همان میزانی که نیاز دارند در اختیار داشته باشند و به همین دلیل تصاویر را با فرمت RAW نگهداری می کنند. ابزارهایی مانند ImageOptim می تواند میزان بسیار زیادی از جزئیات غیر ضروری را کاربر به آنها نیاز ندارد را کاهش دهند و علاوه بر این می تواند مقادیر EXIF را نیز حذف کند. در نتیجه این کار می تواند سرعت دانلود را به میزان بسیار زیادی افزایش دهد و پهنای باند کمتری را استفاده کند.

 بهبود کد

اضافه کردن یک API برای بهبود کدها

بسیاری از افرادی که اقدام به ساخت معماری نرم افزار می کنند سعی می کنند که یک API را به کدهای خود اضافه کنند تا بتوانند به این ترتیب بخش های مربوط به فرانت اند را از منطق برنامه جدا کنند. با این حال باید توجه داشته باشید که گاهی اوقات این یک فرصت فوق العاده است که با اضافه کردن یک پنجره دیگر استفاده از پایه های کد خود را گسترش دهید. مجموعه ابزارهای API مانند Swagger می توانند این کار را برای شما راحت تر کنند چرا که قابلیت هایی همچون parse کردن، rooting و حتی امکان ساخت مستندات را برای شما فراهم می کنند. اگر شما توابعی داشته باشید که به خوبی کار می کنند شما می توانید تمامی نقاط کد خود را در بلاکی که قرار دارید تمیز کنید، آنها را به یک API متصل کنید. این کار قابلیت های بسیار جذابی را در اختیار شما قرار می دهد که می توانید از آنها استفاده کنید.

 بهبود کد

ساخت مستندات

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

 بهبود کد

ادامه دهید

برخی از برنامه نویسان باهوش ایده بازنویسی کد برای بهبود کدهای ما را مورد بررسی قرار دادند چرا که کلمه بازنویسی ممکن است این احساس را به شما بدهد که بار اول کد خود را به اشتباه نوشته اید. Refactoring می تواند احساس بهتری را به شما بدهد. Refactoring در زمان بهبود کدها اشتباهات قبلی را نمی پذیرد و ادامه کار را برای شما در بهبود کدها راحت تر می کند. پروسه بهبود کدها می تواند فرار باشد و به همین دلیل است که بهتر است به محض تمام شدن کدها این روند را شروع کنید. کوچکترین بهبود کد و اصلاح کد می تواند نقشی بسیار مهم را برای شما ایفا کند.

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

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

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

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

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