تسهیل کد نویسی در
Visual Studio 2005
(قسمت اول)
مقدمه
يكي از مشكلات بزرگي كه سر راه برنامه
نويسان يا به عبارت ديگر كدنويسان وجود دارد، ساعت هاي متمادي است كه صرف
نوشتن كدها مي شود.اگر تاكنون در طراحي برنامه هاي كاربري شركت كرده ايد،
حتما با اين مشكل برخورد داشته ايد.به ويژه اگر قرار باشد كه اصول مهندسي
نرم افزار! را رعايت كنيم، چيزي كه در صنعت توسعه نرم افزاري كشور كمتر به
چشم مي خورد، اين مقوله محسوس تر است.به دنبال ارائه شدن نسخه جديد ويژوال
استوديو يا به عبارت ديگر VS
2005 در راستاي كاهش دردسرهاي كدنويسان و توسعه
دهندگان نرم افزار، ويژگي هاي جديد و جالبي به اين نخسه اضافه شده اند.شايد
تعجب كنيد اما شركت مايكروسافت مدعي است كه بيش از چهارصد ويژگي جديد به
نسخه VS 2005 اضافه شده است
و ناخودآگاه اين سوال به ذهن خطور مي كند كه اين ويژگي ها چيست و چگونه مي
توان از آن ها بهره برد.اگر با نسخه ي قبلي يعني VS
2003 كار كرده باشيد مطمئنا از محيط خشك و يكنواخت
آن شما را آزرده است.در اين مقاله قصد داريم كه بعضي از ويژگي هاي جديد
VS 2005
را كه به منظور تسهيل كدنويسي در آن تعبيه شده اند،معرفي كنيم.
منوي
Refactor
و گزينه هاي آن
اگر اندكي دقت كرده
باشيد،متوجه شده ايد كه ويژوال استوديوي جديد واقعا ويژگي هاي زيادي را با
خود به همراه آورده است.يكي از اين ويژگي ها منويي تحت عنوان Refactor
مي باشد كه به مجموعه منوهاي اصلي
به منظور تسهيل امر كدنويسي اضافه شده است.در ادامه شرح مختصري از هر
زيرمنو بيان مي شود.
Rename
– توانايي تغيير نام متغيرها
اگر بخواهيد نام متغير يا تابعي را در كدهاي
خود تغيير دهيد، اين گزينه مناسب خواهد بود.با تغيير نام يك متغير و يا
تابع همه فراخواني هاي ديگر به نام جديد تغيير نام خواهند يافت.
Extract Method
– بسته بندي كد در يك تابع
در مواردي كه بخواهيد مجموعه اي از خطوط كد
را به صورت يك تابع بسته بندي كنيد، و سپس آن تابع را در جاهاي مورد نياز
فراخواني كنيد، از اين گزينه استفاده كنيد.مثال زير نمونه اي است كه عملكرد
اين منو را نشان مي دهد :


براي بسته بندي كد، ابتدا كد مورد نظر را
انتخاب كرده سپس آن را هاي لايت كنيد.با انتخاب زيرمنوي مذكور از منوي
Refactor،
نام تابعي كه قصد داريد كد انتخاب شده در آن قرار گيرد، از شما درخواست مي
شود.لازم به ذكر است كه اگر پارامتري به عنوان پارامتر وابسته به بخش
انتخاب شده تشخيص داده شود، به صورت خودكار به عنوان يكي از آرگومان هاي
تابع جديد در نظر گرفته خواهد شد.
Encapsulate
Field
– سريع ترين وساده ترين راه براي
ايجاد
Property
يكي از ويژگي هاي زبان هاي دات نت امكان
تعريف Property
براي متغيرها مي باشد.با اين پيش فرض كه خواننده با مفهوم
Property آشناست، به تشريح
اين زيرمنو مي پردازيم.حتما تاكنون براي كلاس هاي خود
Property هايي تعريف كرده ايد.اين
كار با افزايش تعداد Property
ها به يك فرآيند خسته كننده بدل مي شود.به منظور توليد هر چه سريع تر
Property، زير منوي
Encapsulate Field در منوي
Refactor در نظر گرفته شده
است.براي اين منظور متغيري را كه قصد تعريف
Property براي آن داريد، با
هاي لايت كردن ماوس انتخاب كرده و بر روي منوي مذكور كليك كنيد تا پنچره اي
مطابق شكل براي شما ظاهر شود:

در اين پنجره نام
Property مورد نظر
از شما درخواست مي شود.اگر تعريف متغير شما با حرف كوچك شروع شده باشد، به
صورت پيش فرض نام متغير با حرف بزرگ به عنوان نام
Property در نظر گرفته مي شود. حوزه اعمال تغييرات
و گزينه هايي از قبيل پيش نمايش Property
در كد درخواستي، از جمله گزينه هايي هستند كه مي توانيد به هنگام توليد
Property
آن ها را تنظيم كنيد.
Extract
Interface
– توليد واسط اينترفيسي از كلاس
مورد نظر
اگر بخواهيد كه يك واسط اينترفيسي از كلاس
تهيه كنيد، مي توانيد از اين زيرمنو استفاده كنيد.( در اين مقاله به توضيح
مفاهيم برنامه نويسي از قبيل
interface
پرداخته نمي شود.) پس از انتخاب كلاس مورد نظر و كليك بر روي زيرمنو، پنچره
اي به مانند شكل ظاهر مي شود :

در اين پنچره اطلاعاتي از قبيل نام واسط،
نام فايل و اجزايي از كلاس كه بايد در واسط وجود داشته باشند، از شما
درخواست مي شوند كه با وارد كردن اين اطلاعات و انتخاب اجزا، واسط مربوطه
به سادگي هر چه تمام تر براي شما ساخته خواهد شد.
Promote local
variable to parameter
–تبديل متغير محلي به آرگومان تابع
شايد در مواردي بخواهيدا يك متغير محلي را
كه مقدار دهي اوليه هم براي آن انجام داده ايد را به آرگومان ورودي تابعي
كه متغير در آن تعريف شده است،تبديل كنيد.براي اين منظور متغير مورد نظر را
انتخاب كرده با هاي لايت كردن آن و سپس كليك بر روي زيرمنوي مذكور، تغييرات
مورد نظر را در كد اعمال كنيد.

Remove
Parameters
– حذف كردن پارامترهاي تابع
اين گزينه زماني به كار مي رود كه بخواهيد
از آرگومان هاي تابع خود بكاهيد.براي اين منظور بر روي زيرمنوي مذكور كليك
و از پنجره نشان داده شده، پارامترهايي را كه قصد حذف آن ها را داريد،
انتخاب كنيد و سپس بر روي دكمه
Remove كليك كنيد در نهايت با زدن
دكمه Ok
تغييرات درخواستي خود را اعمال كنيد.

Reorder
Parameters
– جابجا كردن پارامترهاي تابع
پاره اي مواقع لازم است كه ليست پارامترهاي
تابعي را جابجا كنيد.براي اين منظور مي توانيد بر روي زيرمنوي مذكور كليك
كرده و ترتيب جديد پارامترهاي تابع را انتخاب و با زدن دكمه
Ok
تغييرات درخواستي خود را اعمال كنيد.

نكات مورد توجه:
قابل ذكر است كه كليه تغييراتي اعمال شده از
طريق گزينه هاي Refactor،
كليه كدهاي شما را تحت تاثير قرار مي دهد.مثلا اگر از ليست پارامترهاي يك
تابع آرگوماني را حذف كنيد، اين آرگومان در كليه فراخواني هاي آن تابع در
بخش هاي مختلف كد، حذف خواهد شد.
به منظور دستيابي هر چه سريع تر به گزينه
هاي منوي Refactor،
نمونه مشابهي از اين منو، بر روي منوي كليك راست ماوس در نظر گرفته شده
است.بنابراين پس از هاي لايت كردن كد مورد نظر و كليك راست ماوس بر روي آن،
مي توانيد به گزينه هاي Refactor
دسترسي داشته باشيد. ( مانند شكل زير )
