آموزش 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 :

ویرایشگر کدها در ویژوال استودیو به شما کمک می کند ، تا کدهای صحیحی نوشته و در صورتی که هم خطاهایی رخ داد ، آن را به سرعت اصلاح کنید . در این بخش از راهکار ، چندین خط کد را نوشته تا به بررسی ویژگی ها و امکانات ویرایشگر کدها در ویژوال استودیو بپردازیم . بنابراین مراحل زیر را انجام دهید :

  1. در نمای طراحی ( Design ) ، بر روی قسمتی خالی از صفحه دابل کلیک نموده تا تابع مدیریت کننده رویداد لود صفحه ( Page_Load ) در حالت کدنویسی باز شود . دقت داشته باشید که ما صرفا این تابع را برای آموزش نحوه نوشتن کد به کار خواهیم برد .  کد این رویداد به صورت زیر است  :

    آموزش ویرایش کد صفحات ASP.Net
  2. درون رویدادی که باز کرده اید ، کد زیر را که حاوی یک خطا می باشد ، تایپ نمایید :
    کد Dim var1 as   inger
  3. پس از نوشتن کد فوق ، دکمه Enter را زده تا به خط بعدی بروید . ویرایشگر کدهای ویژوال استودیو ، با قرار دادن یک خط سبز رنگ زیر عبارت ( inger ) که اشتباه است ، به شما اعلام می کند که این واژه را نشناخته و خطایی رخ داده است . به صورت زیر :

    آموزش ویرایش کد صفحات ASP.Net
  4. سپس اشاره گر موس را بر روی خط کوچک سبز رنگ که نشان دهنده خطا در کد است برده تا کادر راهنمای خطا ( tooltip ) مربوط باز شود . این کادر معمولا توضیحی راجع به خطا می دهد .
    سپس کادر tooltip شبیه به یک آیکون اخطار می شود . بر روی آن کلیک کنید . برنامه تمامی حالات مختلف که اصلاح کننده کد شما است را نشان می دهد ، به صورت زیر :

    خطایابی و اصلاح خطای کدهای ASP.Net در ویژوال استودیو

    برای مثال گزینه اول می گوید : " Change to Integer " . یعنی عبارت ناصحیح inger را به Integer که کلمه تعریف اعداد در VB است تغییر دهد . با کلیک بر روی آن گزینه ، کد شما اصلاح خواهد شد .

اصلاح خطاهای کد نویسی در #C :

علاوه بر موردی که برای زبان VB در مرحله قبل تشریح کردیم ، ویژوال استودیو برای زبان #C ، دارای امکان اصلاح و تغییر کدهای نوشته شده نیز می باشد . در این بخش از راهکار به بررسی امکانات ویژه ویژوال استودیو برای ویرایش و اصلاح کدهای #C خواهیم پرداخت .

یکی از این امکانات بازنویسی ( Refactoring ) کدها در #C می باشد . بازنویسی ( Refactoring ) یک متولوژی در کدنویسی است که به شما کمک می کند تا کدهای خود را بازسازی کنید تا ضمن نگه داشتن قابلیت ها و عملکرد آن ، کدها را برای فهمیدن و توضیح آسانتر کند .
یک مثال ساده در این زمینه می زنیم . برای مثال فرض کنید که کدی نوشته اید تا اطلاعات مورد نظرتان را از پایگاه داده دریافت کند . همزمان با توسعه صفحه خود ، متوجه خواهید شد که برای دستیابی به اطلاعات از رویدادها و متدهای مختلفی استفاده کنید . بنابراین ، کد صفحه خود را با نوشتن متدهای لازم و فراخوانی آنها در هر زمان که نیاز باشد ، بازنویسی می کنید .
ویرایشگر کدها در ویژوال استودیو ، شامل ابزارهای مختلفی برای بازنویسی کدهای شما می باشد . در این راهکار با دو تکنیک بازنویسی کدها در #C کار خواهیم کرد :

  1. تغییر نام سمبل ها ( مثل نام متغیرها ، توابع ، کلاس ها و ... ).
  2. حذف یا اضافه کردن متدها و توابع مورد نظر .

البته امکانات دیگری مثل کپسوله کردن فیلدها ، تغییر وضعیت دسترسی به متغیرها در توابع و مدیریت پارامترهای توابع نیز در ویژوال استودیو وجود دارد که در بخش های دیگر به بررسی آنها خواهیم پرداخت .
امکان استفاده از هر کدام از امکانات فوق در ویرایشگر کدهای ویژوال استودیو ، بستگی به محل قرار گیری اشاره گر در کدهای نوشته شدتان دارد . برای مثال ، اگر قطعه کدی که انتخاب کرده اید ، مربوط به تعریف یک فیلد داده ای نباشد ، نمی توانید از امکان کپسوله کردن فیلدها استفاده کنید .

1 ) بازنویسی ( Refactoring ) کدها در #C :

یکی از کارهای رایج در بازنویسی کدهای #C ، استخراج یک متد از درون قطعه کدی مثل یک متد و یا کلاس و سپس نوشتن آن به صورت مجزا می باشد . این کار حجم کد متد یا کلاس اولیه را کاهش داده و به ما این امکان را می دهد تا از متد جدید ایجاد شده ، به صورت چند بار مصرف ( فراخوانی آن در هر جای برنامه ) استفاده کنیم .
در این بخش از راهکار یک قطعه کد را خواهیم نوشت ، سپس بخشی از آن را به صورت یک متد مجزا استخراج می کنیم . بازنویسی کدها فقط در #C پشتیبانی می شود ، بنابراین یک صفحه جدید ASP.Net به زبان #C را ایجاد می کنیم ، به صورت زیر :

  1. در منوی Siolution Explorer ، بر روی نام پروژه یا وب سایت خود کلیک راست نموده و گزینه Add New Item را انتخاب کنید .
  2. سپس از زیر بخش Installed Templates ، زبان #C را انتخاب نموده و از نوار میانی نیز گزینه Web Form را انتخاب کنید .
  3. درون کادر Name ، یک نام مورد نظر برای صفحه مثل CSharp_Ex.aspx را تعیین کرده و سپس گزینه Add را بزنید ، تا صفحه به پروژه اضافه شود ، همانند تصویر زیر :

    اضافه کردن یک صفحه جدید برای بازنویسی کدها در ASP.Net C#

نحوه جدا سازی یک بخش از کد و ایجاد یک متد جدید در #C :

  1. در صفحه جدید ایجاد شده به نمای طراحی Design بروید .
  2. از منوی Toolbox برنامه و بخش کنترل های Standard ، یک دکمه فرمان Button را بر روی صفحه قرار دهید .
  3. بر روی دکمه فرمان دابل کلیک نموده تا تابع رویداد ( 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  را ایجاد نموده ، سپس از یک حلقه برای خواندن مقادیر آن استفاده می کند .
    در مرحله بعدی نیز توسط یک حلقه دیگر ، مقادیر خوانده شده از شی آرایه ای را نمایش می دهد .
  4. اگر کنترل های CTRL + F5 را فشار دهید ، صفحه اجرا شده و خروجی شبیه زیر را تولید می کند :
    خروجی i = 0
    i = 1
    i = 2
    i = 3
    i = 4
  5. به کد نوشته شده در صفحه باز گشته و قطعه کد زیر را از میان آنها انتخاب نمایید :
    خروجی      for( i=0; i<alist.Count; i++ )
           {
              Response.Write( "<br />" + alist[ i ] ) ;
            }

  6. بر روی قطعه کد انتخاب شده ، کلیک راست نموده ، از منوی باز شده گزینه Refactor را انتخاب کرده و سپس آیتم Exctract Method را کلیک نمایید . همانند تصویر زیر :

    ایجاد یک متد جدید از روی کدهای موجود در ASP.Net C#

  7. در کادر New Method Name ، عبارت DisplayArray را به عنوان نام متد جدید تایپ کرده و سپس دکمه Ok را بزنید ، به صورت زیر :

    ایجاد یک متد جدید از روی کدهای موجود در ASP.Net C#

    ویرایشگر کد ویژوال استودیو ، یک متد جدید به نام DisplayArray را ایجاد نموده ، کد مربوط به آن را درونش قرار می دهد . سپس در محل کد متد در جای اولیه آن ، یک فراخوان برای متد ( Method Call ) برای اجرای آن قرار می دهد . در نهایت کد به صورت زیر در می آید :

    ایجاد یک متد جدید از روی کدهای موجود در ASP.Net C#

    نکته : در واقع در طی عملیات فوق ، قطعه کد مورد نظر را از درون رویداد کلیک دکمه فرمان جدا نموده و آن را در یک متد مستقل قرار داده ایم . سپس از درون متد اولیه فراخوانی شده است .
  8. در نهایت مجددا با فشردن دکمه های CTRL + F5 T ، صفحه را اجرا نموده و خواهید دید که خروجی قبلی باز به دست خواهد آمد .

استفاده از قابلیت بازنویسی کدها ( Refactoring ) برای تغییر نام نشانه ها ( Symbols ) :

در هنگام کار با متغیرها و اشیا در #C که به آنها نشانه ها یا Symbols می گوییم ، ممکن است حتی پس از اینکه تمام کدهای خود را نوشتید ، تمایل داشته باشید تا نام متغیر یا تابعی را برای مثال تغییر دهید .
تغییر نام متغیرها و توابع و ... در یک قطعه کد طولانی بسیار سخت بوده و حتی اگر یک مورد را به درستی تغییر ندهید ، کد شما به درستی اجرا نخواهد شد . بنابراین ویرایشگر ویژوال استودیو ، امکان جالبی را برای تغییر کلی این نوع نام ها به صورت زیر در اختیار برنامه نویس قرار داده است :

  1. درون بخش کد صفحه ، قطعه کد زیر را انتخاب نمایید :
    کد System.Collections.ArrayList alist = new System.Collections.ArrayList ;
  2. متغیر allist را که می خواهیم نام آن را در تمام کد تغییر دهیم را انتخاب نموده و بر رویش کلیک راست نمایید . از منوی باز شده ، گزینه Refactor و سپس Rename را به ترتیب انتخاب نمایید  :

    تغییر نام یک متد یا متغیر در کدهای موجود ASP.Net C#

  3. کادر Rename به صورت زیر باز می شود ، در کادر Name ، نام جدید ArrayList1 را برای متغیر تعیین کرده و دکمه Enter را بزنید :

    تغییر نام یک متد یا متغیر در کدهای موجود ASP.Net C#


    کادر محاوره ای Preview Changes باز شده و یک درخت ( tree ) را که نشان دهنده تمام اشارات و سلسله مراتب ارجاع به متغیر مورد نظر است را نمایش می دهد .  به صورت زیر :


    تغییر نام یک متد یا متغیر در کدهای موجود ASP.Net C#

    با زدن دکمه 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;
      }

    : توضیح نکته فوق
  4. متغیر alist در کد فوق ( این کد ، کد متد جدیدی است که در مرحله قبل ساختیم ( با متغیر اصلی alist فرق دارد . در واقع این متغیر پارامتر این متد بوده و مقدار اراسالی به متد را دریافت می کند .
    حال آنکه متغیر alist ای که نام آن را در کد مرحله قبل تغییر دادیم ، یک متغیر محلی برای متد خودش بوده و در بیرون از آن متد کارایی ندارد . در هنگام تغییر نام متغیرها و توابع ، به محلی بودن و مکان های مورد استفاده آنها در کد بایستی دقت نمایید .

دانلود فایل عملی پروژه و نسخه PDF راهکار



راجع این مطلب سوال یا اشکالی دارید ؟! آن را در انجمن سایت مطرح نمایید ...         >>>>>  ورود به انجمن تخصصی


نطر خودتان درباره این صفحه را با ما در میان گذاشته و در صورت تمایل از Developer1 حمایت نمایید :

آیا مطالب این صفحه برای شما مناسب و مفید بوده است :

نام :                 
آدرس Email :    
 
نظر شما :  
 
سوال امنیتی : پایتخت ایران ؟      
حمایت از سایت Developer1