بیت گراف
برنامه نویسیمقالات

عمل Refactoring چیست؟

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

عملیات پیمایش و شمارش و مقداردهی روی عناصر لیست

عمل Refactoring چیست؟

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

Refactoring چیست؟ فرآیند بازبینی و تغییر کد، برای سازمان دهی آن گویند.

به عبارت دیگر Refactoring فرآیند کار کردن مجدد روی کد ها به منظور افزایش خوانایی ( readability )، کارائی ، ارائه Type Safety و هدایت برنامه ها به سمت تجربیات برنامه نویسی Object Orinted استاندارد می باشد.


در نسخه های مختلف Visual studio مجموعه ایی از ابزارها برای این فرآیند در دسترس می باشد.شما می توانید این ابزارها را در منوی Refactoring پیدا نمایید. قصد داریم با مثالی نحوه این فرآیند رو نمایش بدهیم.یک کلاس با اسم Flower می سازیم :

 

//کلاس برای شبیه سازی گل می باشد
    class Flower
    {
        //سه تا فیلد تعریف کردیم
        public string color;
        public int count_leaf;
        private string name_flower;
        //تابع سازنده کلاس
        public Flower(string str)
        {
            name_flower = str;
        }
        //تابعی برای برگداندن نام گل
        public string Get_flower()
        {
            return "Flower name is  " + name_flower;
        }
    }

حالا می خواهیم عمل Refactoring رو در کلاس اعمال کنیم و کدهامون رو تغییر بدیم.

اگر دقت کنید می بینیم که فیلد های count_leaf و color به صورت عمومی تعریف شده اند . ما می خواهیم که اینا رو کپسوله نماییم.

برای این منظور بروی فیلد color راست کلیک می کنیم و گزینه ی Refactor ==>Encapsulate Field را انتخاب می کنیم. پنجره Encapsulate Field باز می شود:

در این پنچره نام این خاصیت را می تونید تغییر بدید و با زدن دکمه OK فیلد عمومی انتخابی را به یک فیلد خصوصی ( پراپرتی ) تبدیل کنید.

بروی فیلد count_laef همین عمل رو تکرار می کنیم نتیجه به صورت کدهای زیر در می آید:

 //کلاس برای شبیه سازی گل می باشد
    class Flower
    {
        //سه تا فیلد تعریف کردیم
        private string color;

        public string Color
        {
            get { return color; }
            set { color = value; }
        }
        private int count_leaf;

        public int Count_leaf
        {
            get { return count_leaf; }
            set { count_leaf = value; }
        }
        private string name_flower;
        //تابع سازنده کلاس
        public Flower(string str)
        {
            name_flower = str;
        }
        //تابعی برای برگداندن نام گل
        public string Get_flower()
        {
            return "Flower name is  " + name_flower;
        }
    }

مشاهده نمودید که عمل تجدید نظر بروی کدها با این ویزاردها چقدر ساده است.


در منوی Refactoring گزینه های بیشتری وجود دارد که اعمال زیر را در جهت سازماندهی کد ها انجام می دهد:

  • تغییر دادن نام متد ها ، متغییر ها و ….
  • استخراج متد از کدهایی که انتخاب می کنید.
  • استخراج واسط ها
  • حذف ورودی ها ی ( پارامترها) تابع و ….
  • و ….

برای مشاهده کلیه سورس های برنامه سی شارپ کلیک نمایید.

تمامی مطالب توسط تیم سافت ساز ترجمه و جمع آوری می شود . منبع سافت ساز

امتیاز به این مطلب :

امتیاز

جمع امتیازات

لطفا به این مطلب امتیازدهید.

User Rating: 1.66 ( 4 votes)

نوشته های مشابه

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

دکمه بازگشت به بالا