آموزش ASP.Net > راهکارهای موثر در ASP.Net
راهکار 2 - 1 : آموزش ویرایش کد صفحات ASP.Net در ویژوال استودیو
مقدمه :
در اکثر صفحات ASP.Net ای که ایجاد خواهید کرد ، کدهای برنامه نویسی مختلفی را به زبان
های VB یا #C و ... خواهید نوشت تا دستورات شما را اجرا کنند .
ویرایشگر کدها در ویژوال استودیو به شما کمک می کند تا کدهای خود را بدون اشکال و سریع
تر بنویسید . همچنین این ویرایشگر امکانی را فراهم نموده تا قطعه کدهای چندین بار قابل
مصرف یا به اصطلاح مشترک را ساخته و در هر بار که به هر قطعه کد نیاز دارید ، با اشاره
به آن ، سریع به کد مورد نظرتان دسترسی داشته و حجم کد صفحه را کاهش دهید . همچنین
سرعت طراحی خود را تا حد زیادی افزایش می دهد .
در این راهکار قصد داریم تا شما را با امکانات و فواید مختلف ویرایشگر کدها در ویژوال
استودیو آشنا سازیم . برخی امکانات و قابلیت هایی ویرایشگر کدهای ویژوال استودیو ،
بستگی به نوع زبانی دارد که برای کد نویسی انتخاب نموده اید . بنابراین در این راهکار
دو صفحه ، یکی به زبان VB و دیگری به زیان #C را طراحی خواهیم کرد .
مواردی که در این راهکار با آن آشنا می شوید ، عبارتند از :
- اصلاح خطاهای کد نویسی در صفحات با زبان VB .
- اصلاح و بازنویسی کدها در صفحات با زبان #C .
- استفاده از کدهای میان بر و سریع برای تایپ کدها .
برای حمایت از این راهکار ، کتاب
راهکارهای موثر در ASP.Net را دانلود نمایید ...
پیش نیازها :
برای اجرای این راهکار ، بایستی نرم افزارهای زیر بر روی کامپیوتر شما نصب شده باشد
:
- مایکروسافت ویژوال استودیو یا Visual Web Developer .
مرحله اول - طراحی یک سایت ASP.Net :
در مرحله اول از راهکار بایستی یک سایت ASP.Net را برای اجرای پروژه خود ایجاد نمایید
. فرض بر این است که سایت را قبلا ایجاد کرده و یا با نحوه اجرای آن آشنایی دارید ،
در غیر اینصورت به
راهکار شماره 1-1 : نحوه ایجاد یک وب سایت ASP.Net در ویژوال استودیو بروید
.
اصلاح خطاهای کدنویسی در ویژوال بیسیک VB :
ویرایشگر کدها در ویژوال استودیو به شما کمک می کند ، تا کدهای صحیحی نوشته و در صورتی
که هم خطاهایی رخ داد ، آن را به سرعت اصلاح کنید . در این بخش از راهکار ، چندین خط
کد را نوشته تا به بررسی ویژگی ها و امکانات ویرایشگر کدها در ویژوال استودیو بپردازیم
. بنابراین مراحل زیر را انجام دهید :
- در نمای طراحی ( Design ) ، بر روی قسمتی خالی از صفحه دابل کلیک نموده تا تابع مدیریت
کننده رویداد لود صفحه ( Page_Load ) در حالت کدنویسی باز شود . دقت داشته باشید که
ما صرفا این تابع را برای آموزش نحوه نوشتن کد به کار خواهیم برد . کد این رویداد
به صورت زیر است :
- درون رویدادی که باز کرده اید ، کد زیر را که حاوی یک خطا می باشد ، تایپ نمایید :
- پس از نوشتن کد فوق ، دکمه Enter را زده تا به خط بعدی بروید . ویرایشگر کدهای ویژوال
استودیو ، با قرار دادن یک خط سبز رنگ زیر عبارت ( inger ) که اشتباه است ، به شما
اعلام می کند که این واژه را نشناخته و خطایی رخ داده است . به صورت زیر :
- سپس اشاره گر موس را بر روی خط کوچک سبز رنگ که نشان دهنده خطا در کد است برده تا کادر
راهنمای خطا ( tooltip ) مربوط باز شود . این کادر معمولا توضیحی راجع به خطا می دهد
.
سپس کادر tooltip شبیه به یک آیکون اخطار می شود . بر روی آن کلیک کنید . برنامه تمامی
حالات مختلف که اصلاح کننده کد شما است را نشان می دهد ، به صورت زیر :
برای مثال گزینه اول می گوید : " Change to Integer " . یعنی عبارت ناصحیح inger را
به Integer که کلمه تعریف اعداد در VB است تغییر دهد . با کلیک بر روی آن گزینه ، کد
شما اصلاح خواهد شد .
اصلاح خطاهای کد نویسی در #C :
علاوه بر موردی که برای زبان VB در مرحله قبل تشریح کردیم ، ویژوال استودیو برای زبان
#C ، دارای امکان اصلاح و تغییر کدهای نوشته شده نیز می باشد . در این بخش از راهکار
به بررسی امکانات ویژه ویژوال استودیو برای ویرایش و اصلاح کدهای #C خواهیم پرداخت
.
یکی از این امکانات بازنویسی ( Refactoring ) کدها در #C می باشد . بازنویسی ( Refactoring
) یک متولوژی در کدنویسی است که به شما کمک می کند تا کدهای خود را بازسازی کنید تا
ضمن نگه داشتن قابلیت ها و عملکرد آن ، کدها را برای فهمیدن و توضیح آسانتر کند .
یک مثال ساده در این زمینه می زنیم . برای مثال فرض کنید که کدی نوشته اید تا اطلاعات
مورد نظرتان را از پایگاه داده دریافت کند . همزمان با توسعه صفحه خود ، متوجه خواهید
شد که برای دستیابی به اطلاعات از رویدادها و متدهای مختلفی استفاده کنید . بنابراین
، کد صفحه خود را با نوشتن متدهای لازم و فراخوانی آنها در هر زمان که نیاز باشد ،
بازنویسی می کنید .
ویرایشگر کدها در ویژوال استودیو ، شامل ابزارهای مختلفی برای بازنویسی کدهای شما می
باشد . در این راهکار با دو تکنیک بازنویسی کدها در #C کار خواهیم کرد :
- تغییر نام سمبل ها ( مثل نام متغیرها ، توابع ، کلاس ها و ... ).
- حذف یا اضافه کردن متدها و توابع مورد نظر .
البته امکانات دیگری مثل کپسوله کردن فیلدها ، تغییر وضعیت دسترسی به متغیرها در توابع
و مدیریت پارامترهای توابع نیز در ویژوال استودیو وجود دارد که در بخش های دیگر به
بررسی آنها خواهیم پرداخت .
امکان استفاده از هر کدام از امکانات فوق در ویرایشگر کدهای ویژوال استودیو ، بستگی
به محل قرار گیری اشاره گر در کدهای نوشته شدتان دارد . برای مثال ، اگر قطعه کدی که
انتخاب کرده اید ، مربوط به تعریف یک فیلد داده ای نباشد ، نمی توانید از امکان کپسوله
کردن فیلدها استفاده کنید .
1 ) بازنویسی ( Refactoring ) کدها در #C :
یکی از کارهای رایج در بازنویسی کدهای #C ، استخراج یک متد از درون قطعه کدی مثل یک
متد و یا کلاس و سپس نوشتن آن به صورت مجزا می باشد . این کار حجم کد متد یا کلاس اولیه
را کاهش داده و به ما این امکان را می دهد تا از متد جدید ایجاد شده ، به صورت چند
بار مصرف ( فراخوانی آن در هر جای برنامه ) استفاده کنیم .
در این بخش از راهکار یک قطعه کد را خواهیم نوشت ، سپس بخشی از آن را به صورت یک متد
مجزا استخراج می کنیم . بازنویسی کدها فقط در #C پشتیبانی می شود ، بنابراین یک صفحه
جدید ASP.Net به زبان #C را ایجاد می کنیم ، به صورت زیر :
- در منوی Siolution Explorer ، بر روی نام پروژه یا وب سایت خود کلیک راست نموده و گزینه
Add New Item را انتخاب کنید .
- سپس از زیر بخش Installed Templates ، زبان #C را انتخاب نموده و از نوار میانی نیز
گزینه Web Form را انتخاب کنید .
- درون کادر Name ، یک نام مورد نظر برای صفحه مثل CSharp_Ex.aspx را تعیین کرده و سپس
گزینه Add را بزنید ، تا صفحه به پروژه اضافه شود ، همانند تصویر زیر :
نحوه جدا سازی یک بخش از کد و ایجاد یک متد جدید در #C :
- در صفحه جدید ایجاد شده به نمای طراحی Design بروید .
- از منوی Toolbox برنامه و بخش کنترل های Standard ، یک دکمه فرمان Button را بر روی
صفحه قرار دهید .
- بر روی دکمه فرمان دابل کلیک نموده تا تابع رویداد ( Click ) آن جهت نوشتن کد به صورت
زیر باز شده و کد مورد نظر را درون آن بنویسید :
|
کد
|
protected void Button1_Click(object sender, EventArgs e)
{
System.Collections.ArrayList alist
= new System.Collections.ArrayList( );
int i;
string arrayValue;
for( i=0; i<5; i++ )
{
arrayValue = "i = " + i.ToString(
);
alist.Add(arrayValue);
}
for( i=0; i<alist.Count; i++
)
{
Response.Write( "<br />"
+ alist[ i ] ) ;
}
}
|
توضیح کد فوق : کد فوق یک لیست آرایه ای از نوع ArrayList به نام
alist را ایجاد نموده ، سپس از یک حلقه
برای خواندن مقادیر آن استفاده می کند .
در مرحله بعدی نیز توسط یک حلقه دیگر ، مقادیر خوانده شده از شی آرایه ای را نمایش
می دهد .
- اگر کنترل های CTRL + F5 را فشار دهید ، صفحه اجرا شده و خروجی شبیه زیر را تولید می
کند :
|
خروجی
|
i = 0
i = 1
i = 2
i = 3
i = 4
|
- به کد نوشته شده در صفحه باز گشته و قطعه کد زیر را از میان آنها انتخاب نمایید :
|
خروجی
|
for( i=0; i<alist.Count; i++
)
{
Response.Write( "<br />"
+ alist[ i ] ) ;
}
|
- بر روی قطعه کد انتخاب شده ، کلیک راست نموده ، از منوی باز شده گزینه Refactor را
انتخاب کرده و سپس آیتم Exctract Method را کلیک نمایید . همانند تصویر زیر :
- در کادر New Method Name ، عبارت DisplayArray را به عنوان نام متد جدید تایپ کرده
و سپس دکمه Ok را بزنید ، به صورت زیر :
ویرایشگر کد ویژوال استودیو ، یک متد جدید به نام DisplayArray را ایجاد نموده ، کد
مربوط به آن را درونش قرار می دهد . سپس در محل کد متد در جای اولیه آن ، یک فراخوان
برای متد ( Method Call ) برای اجرای آن قرار می دهد . در نهایت کد به صورت زیر در
می آید :
نکته : در واقع در طی عملیات فوق ، قطعه کد مورد نظر را از درون رویداد
کلیک دکمه فرمان جدا نموده و آن را در یک متد مستقل قرار داده ایم . سپس از درون متد
اولیه فراخوانی شده است .
- در نهایت مجددا با فشردن دکمه های CTRL + F5 T ، صفحه را اجرا نموده و خواهید دید که
خروجی قبلی باز به دست خواهد آمد .
استفاده از قابلیت بازنویسی کدها ( Refactoring ) برای تغییر نام نشانه ها ( Symbols
) :
در هنگام کار با متغیرها و اشیا در #C که به آنها نشانه ها یا Symbols می گوییم ، ممکن
است حتی پس از اینکه تمام کدهای خود را نوشتید ، تمایل داشته باشید تا نام متغیر یا
تابعی را برای مثال تغییر دهید .
تغییر نام متغیرها و توابع و ... در یک قطعه کد طولانی بسیار سخت بوده و حتی اگر یک
مورد را به درستی تغییر ندهید ، کد شما به درستی اجرا نخواهد شد . بنابراین ویرایشگر
ویژوال استودیو ، امکان جالبی را برای تغییر کلی این نوع نام ها به صورت زیر در اختیار
برنامه نویس قرار داده است :
- درون بخش کد صفحه ، قطعه کد زیر را انتخاب نمایید :
|
کد
|
System.Collections.ArrayList alist = new System.Collections.ArrayList ;
|
- متغیر allist را که می خواهیم نام آن را در تمام کد تغییر دهیم را انتخاب نموده و بر
رویش کلیک راست نمایید . از منوی باز شده ، گزینه Refactor و سپس Rename را به ترتیب
انتخاب نمایید :
- کادر Rename به صورت زیر باز می شود ، در کادر Name ، نام جدید ArrayList1 را برای
متغیر تعیین کرده و دکمه Enter را بزنید :
کادر محاوره ای Preview Changes باز شده و یک درخت ( tree ) را که نشان دهنده تمام
اشارات و سلسله مراتب ارجاع به متغیر مورد نظر است را نمایش می دهد . به صورت
زیر :
با زدن دکمه Array ، نام متغیر در تمام موارد تغییر کرده و پنجره Preview Changes بسته
می شود . فقط نام متغیر allist در قطعه کد زیر عوض نمی شود :
|
کد
|
private int DisplayArray( System.Collections.ArrayList alist, int
i )
{
for (i = 0; i < alist.Count;
i++)
{
Response.Write("<br />"
+ alist[ i ]);
}
return i;
}
|
: توضیح نکته فوق
- متغیر alist در کد فوق ( این کد ، کد متد جدیدی است که در مرحله قبل ساختیم ( با متغیر
اصلی alist فرق دارد . در واقع این متغیر پارامتر این متد بوده و مقدار اراسالی به
متد را دریافت می کند .
حال آنکه متغیر alist ای که نام آن را در کد مرحله قبل تغییر دادیم ، یک متغیر محلی
برای متد خودش بوده و در بیرون از آن متد کارایی ندارد . در هنگام تغییر نام متغیرها
و توابع ، به محلی بودن و مکان های مورد استفاده آنها در کد بایستی دقت نمایید .
دانلود فایل عملی پروژه و نسخه PDF راهکار
راجع این مطلب
سوال یا اشکالی دارید ؟! آن را در انجمن سایت مطرح نمایید ...
>>>>> ورود به انجمن تخصصی
نطر خودتان درباره این صفحه را با ما در میان گذاشته و در صورت تمایل از Developer1
حمایت نمایید :