هر زبانی کد استایل مختص به خود را دارد، زبان سی شارپ و به طور کلی پلتفرم دات نت نیز از این قاعده مستثنی نیست. در این مطلب به چند مورد مهم در نامگذاری نگاهی میاندازیم و یک آنالایز بسیار کاربردی به نام StyleCop را بررسی خواهیم کرد.
دنبال کردن قواعد کلی زبان در ویژوال استودیو به سادگی قابل انجام است. در بسیاری از موارد ویژوال استودیو به شما پیشنهاد اصلاح نامها را میدهد فقط کافیست به آنها دقت کنید.
❌ از خط زیرین (Underline) استفاده نکنید.
استفاده از آندرلاین در دات نت به خصوص برای Propertyها پسندیده نیست و سعی کنید به هیچ وجه از آن استفاده نکنید.
✅ با استفاده از حروف کوچک و بزرگ دو بخش نام را به صورت خوانا بنویسید.
❌ برای اعضای public از حروف کوچک استفاده نکنید.
در داتنت، اعضاء (members) شامل Classها، Propertyها و Methodهاست.
✅ برای اعضای private از حروف کوچک استفاده کنید.
برای فیلد ها و متغیر های خصوصی بهتر است از camelCase استفاده کنید.
✅ در ابتدای نام فیلد های خصوصی داخل کلاس میتوانید از آندرلاین استفاده کنید.
این روش نامگذاری موافقان و مخالفان خاص خود را دارد. در صورتی که به صورت تیمی کار میکنید با همتیمی های خود تصمیم بگیرید از موارد اینچنینی استفاده کنید یا خیر.
در صورت عدم استفاده از این روش کد های فوق به صورت زیر در میآیند.
✅ سعی کنید برای نامگذاری مجموعه ها از اسم جمع استفاده کنید.
آنالایزر StyleCop به شما کمک میکند قواعد نامگذاری و همچنین استایل کلی کد های خود را رعایت کنید. این آنالایزر با پیشنهاد Code Fixها به شما کمک میکند این موارد را به سادگی اصلاح کنید.
نحوه نصب
برای شروع ابتدا پکیج نوگت آن را نصب کنید.
Install-Package StyleCop.Analyzers
با نصب این پکیج هشدار هایی درباره کد استایل پروژه شما نمایش داده خواهد شد. سعی کنید هشدار های داده شده در پروژه را کاهش دهید.
توجه داشته باشید که لازم نیست که تمامی هشدار های تولید شده توسط StyleCop را رعایت کنید. گاهی برخی از آنها با توجه به Breaking Changeهای احتمالی، شاید غیر ممکن باشد.
توقف هشدار های خاص
برای عدم نمایش یک هشدار خاص، ابتدا کد آن را در Error List پیدا کنید. سپس فایل csproj را باز کرده و خصوصیت زیر را اضافه کنید:
<NoWarn>کد هشدار</NoWarn>
خواهید دید که هشدار مورد نظر دیگر نمایش داده نخواهد شد.
با کمک ویژوال استودیو میتوانید از سایر روش های Suppress کردن هشدار استفاده کنید.
?? در صورتی که سوال و یا نظری دارید از طریق بخش نظرات با من در ارتباط باشید.