۱۳۸۸ چهارشنبه ۱۹ اسفند Skip Navigation Links
صفحه اصلی
مقالاتExpand مقالات
تازه هاExpand تازه ها
کتاب ها
فروشگاه
اعضا
فروم (سؤال و جواب)
PD on Facebook
 
 
 
کلمه عبور خود را فراموش کرده اید؟
 
 
 تسهیل کد نویسی در Visual Studio 2005 (قسمت اول)
.NET
تاریخ ثبت:  ۸۶/۲/۱۶
تعداد نمایش:  ۲۰۹۶
  نویسنده: ابوالفضل حسن الدينف
 
   ۲۱  نفر تا این لحظه به این مقاله امتیاز داده اند.
 
   Bookmark and Share

تسهیل کد نویسی در 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 دسترسي داشته باشيد. ( مانند شكل زير )

 

 

 

 

  کیفیت مقاله ارائه شده از نظر شما   
برای دادن رتبه به این مقاله می بایست Login کرده باشید.
  درباره نویسنده
ابوالفضل حسن الدينف
Member of Barid Development Team, ERP Solutions
همه مقاله های نوشته شده توسط این کاربر (۱۱)
 
  پیام جدید
صفحه ۱ - پیامهای اصلی ۱ تا ۵ از مجموع ۵ پیام اصلی
اولین قبلی بعدی

 عنوان فرستنده تاریخ
 
بسیار عالی خاطره احمدی ۸۶/۸/۲۰
 
زحمت كشيدي و ممنون كوثر مرادي ۸۶/۴/۱۳
 
يادداشت براي خوانندگان محترم ابوالفضل حسن الدينف ۸۶/۳/۲۲
 
خسته نباشيد... ایمان قشقائی زاده ۸۶/۲/۱۹
 
خسته نباشيد... ايمان قشقائي زاده ۸۶/۲/۱۹
اولین قبلی بعدی

Copyright © 2006 - 2010 All Rights Reserved.
Please direct your questions or comments to