درود بر شما خواننده گرامی،
بسیار خوشحالم که پس از گذشت چهل و دو روز از چالش شیرین، جذاب، مهیج و آموزشی صد روز کد زدن، شما خوانندگان عزیز و محترم رو در کنار خودم دارم.
موضوع انتخابی روز چهل و دوم کمی متفاوت است! چرا که بیشتر بر روی کیفیت کد تمرکز دارد تا بر روی تکنولوژی مورد استفاده در کد.
اگر کیفیت کدها رو بررسی کنید به یک نتیجهی کلی خواهید رسید:
عموم برنامه نویسهای ایرانی (حداقل برنامه نویس هایی که چند عدد کار سورس باز به اشتراک گذاشتهاند) با مفهومی به نام Refactoring هیچگونه آشنایی ندارند.
به عنوان مثال یک برنامهی WinForm تهیه کردهاند و کل سورس برنامه همان چند عدد فرم برنامه است و هر فرم بالای 3000 سطر کد دارد. دوستان عزیز! به این میگویند «فاجعهای به نام کدنویسی کثیف!» صاحب اول و آخر این نوع کدها خودتان هستید! شاید به همین جهت باشد که عمدهی پروژههای سورس باز پس از اینکه برنامه نویس اصلی از توسعهی آن دست میکشد، «میمیرند». چون کسی جرات نمیکند به این کدها دست بزند. مشخص نیست الان این قسمت را که تغییر دادم، کجای برنامه به هم ریخت. تستی ندارند. ساختاری را نمیتوان از آنها دریافت. منطق قسمتهای مختلف برنامه از هم جدا نشده است. برنامه یک فرم است با چند هزار سطر کد در یک فایل! کار شما شبیه به کد اسمبلی چند هزار سطری حاصل از Decompile یک برنامه که نباید باشد!
بازسازی کد یا Code Refactoring چیست؟
Refactoring به معنای بهبود پیوسته کیفیت کدهای نوشته شده در طی زمان است؛ بدون ایجاد تغییری در عملکرد اصلی برنامه. به این ترتیب که در پایان هر ریفکتورینگ به کدهایی دست خواهیم یافت که قابلیت آزمون پذیری بهتری داشته، در مقابل تغییرات مقاوم و شکننده نیستند و همچنین امکان به اشتراک گذاری قسمتهایی از آنها در پروژههای دیگر نیز میسر میشود.
بهطور کلی بازسازی کد دارای دو فایده است.
اگر گشت و گذاری در اینترنت داشته باشید، کتاب ها و مقالات بسیار زیادی در خصوص Refactoring منتشر شده که به عنوان یک برنامه نویس خوب، حتما مطالعه آنها را در اولویت قرار دهید.
حق نگهدارتان.