نکات پنهان در دات نت – نکته ۴ – دیباگ کنترل شده

به طور خلاصه در صورت استفاده از DebuggerStepThrough ( که یک attribute است) برای متد یا خواص کلاس، دیباگر در زمان دیباگ وارد آن نخواهد شد.
از این Attribute می تونید برای متدها، Property Accessor ها، کلاسها و structها استفاده کنید.
مثال:

[DebuggerStepThrough]
Private void Initialize()
{   
//Your Code;
}

نکات پنهان در دات نت – نکته ۳ – ناحیه کد

نکته شماره ۳ مربوط به مدیریت بهتر کدها در Visual Studio است. حتما مجبور به خواندن کدهای بسیاری شده اید که بسیار بی نظم و درهم ریخته نوشته شده اند و همین بی نظمی باعث صرف زمان بیشتر برای پیدا کردن و بررسی کدهای مورد نظر شده است. برای رفع این مشکل در Visual Studio می توانید از Region استفاده کنید.
با استفاده از #region شما می توانید ناحیه های مختلفی از کدها را تعریف کنید. فراموش نکنید که این یک تقسیم بندی تاثیری در نحوه اجرا و عملکرد کدهای شما ندارد. به مثال زیر توجه کنید:

#region RegionName
// this is your code
#endregion

 مثال:

#region properties
        public int PersonId { get; set; }
        public int FirstName { get; set; }
        public string LastName { get; set; }
#endregion

پس از استفاده از #region در Visual Studio در کنار آن یک علامت + نمایش داده میشود که با استفاده از آن می توانید ناحیه کد مورد نظر را بسته و یا باز کنید.
چند ناحیه پیشنهادی برای کدهای شما:

  • #region Properties
  • #region Private Methods
  • #region Public Methods
  • #region Constructors
  • #region Handlers

 

نکات پنهان در دات نت – نکته ۲ – انواع داده Nullable

Null یک مقدار کاربردی در برنامه نویسی است که همه برنامه نویس ها با آن آشنا هستند. همه میدانیم که وقتی یک متغیر تعریف می کنیم مقدار پیش فرض آن null است وقتی هم یک نمونه ای از یک کلاس تعریف می کنیم می توانیم آن را با مقدار null مقدار دهی کنیم. اما مشکل اصلی در مورد انواع داده عددی و struct هاست که نمی توانیم به آنها مقدار null بدهیم و یا مقدار آنها را با null مقایسه کنیم! این مسئله در کار با بانکهای اطلاعاتی که فیلدها قابلیت null بودن دارند بیشتر خودش را نشان میدهد.
Nullable ها انواع داده ای هستند که علاوه بر محدوده قابل قبول معمولی می توانند null را هم به عنوان مقدار بپذیرند و طبیعتا در شرطها با مقدار null مقایسه شوند. نحوه تعریف انواع داده Nullable بدین شکل است:

Nullable<T> variableName;

مثال ۱:

Nullable<int> iNull;

مثال ۲:

public struct MyStruct()
{
    public void foo()
    {
        //Do Anything
    }
}
static void Main(string[] args)
{
   Nullable<MyStruct> myStruct=null;
   if(myStruct==null)
    {
       //Do Anything
    }
}

راه ساده تر برای تعریف متغیرهایی Nullable استفاده از علامت ? است:

int? iContentType = null;

برای مطالعه بیشتر می توانید به این مقاله مراجعه کنید.

بیست نظریه برنامه نویسی جنجال برانگیز

دیشب قبل از خواب فیدهای جدیدو مطالعه می کردم به این پست برخوردم که خوندنش برای همه دست اندرکاران برنامه نویسی خالی از لطف نیست!
بسیاری از این نظرات (اگه نخوام بگم همه نظرات) در مورد اغلب برنامه نویسهای ایرانی هم صدق می کنه. از مطالعه اون واقعا لذت بردم. شما هم مطالعه کنید.

 

پی نوشت ۱: خیلی وسوسه شدم که این مقاله رو ترجمه کنم. اگه وقت داشته باشم حتما این کارو می کنم

پی نوشت ۲: تصمیم دارم یه سری پست در رابطه با نکاتی که کمتر در برنامه نویسی .NET استفاده می شود بنویسم به نام نکات پنهان در .NET که سعیم بر این است که بصورت پستهای مینیمالیستی باشند