پروژه‌های NET Framework. را به درستی تنظیم کنید

یکشنبه 1 دی 1398

ویژوال استودیو تمام گزینه‌های مناسب برای کمک به شما جهت نوشتن کد قابل اطمینان را به طور پیش‌فرض ندارد. در زیر توصیه‌هایی که تیم شما باید برای پروژه‌های #C استفاده کند را آماده کرده‌ایم. همه توصیه‌های زیر برای ویژوال استودیو 2019 است. اگر نسخه قدیمی‌تری دارید، بیشتر این موارد باید بر روی آن اعمال شود.

پروژه‌های NET Framework. را به درستی تنظیم کنید

اطلاعات برنامه

قبل از ایجاد یک پروژه مهم است چند دقیقه در مورد نام اسمبلی فکر کنید زیرا معمولا به فضای نام روت (root) تبدیل می‌شود. همچنین نام پیش‌فرض EXE یا DLL است که در طی فرآیند ساخت ایجاد می‌شود.

نام باید از این فرمت پیروی کند:

<Company>.<Component>.dll

نام‌های متعدد <Component> می‌توانند به صورت جداگانه استفاده شوند. مثلا:

dotNetTips.App.Ads.DataAccess  
dotNetTips.Utilities.Core.Windows  
Microsoft.Build.Utilities.Core  
System.Web  
System.Web.Services  
System.Windows.Forms 

در اینجا نحوه نام‌گذاری یکی از پروژه‌های open-source را می‌بینید:

                                        

اطلاعات Assembly

پر کردن همه تنظیمات اطلاعات برنامه مانند نام،‌ copyright، شماره ورژن و موارد دیگر مهم است. در NET Framework.، در تنظیمات پروژه به تب Application بروید و بر روی Application Settings کلیک کنید و تمام فیلدهای نشان‌ داده شده در زیر را پر کنید.

                                        

تنظیمات Build

این‌ها دستورالعل‌هایی هستند که برای پر کردن تنظیمات build برای پروژه‌ها مهم است.

                                       

1. با هشدارها (warning) به عنوان خطاها (error) در Release یا Debug Build رفتار کنید. این کار این اطمینان را ایجاد می‌کند که هشدارها نیز معین شده‌اند. این امر توصیه می‌شود زیرا آن‌ها می‌توانند به طور جدی بر روی کد تاثیر بگذارند.

2. XML Document File باید نام‌گذاری شود: comments.xml/ (یا نام فایل انتخابی شما). با این کار XML commentها در همان پوشه Output Path تولید خواهند شد.

تنظیمات Signing (امضاء)

امضای اسمبلی‌های شما، به ویژه DLLها به دلایل مختلفی مهم هستند. این تنها راه ایجاد یک اسمبلی "منحصربه‌فرد" در .NET است که به صورت دیجیتالی امضاء می‌شود و به معنای ایمن‌تر بودن آن است.

                                       

همیشه تیک " Sign the assembly" را بزنید تا یک فایل strong name key را ایجاد کند. این کار اطمینان می‌دهد که اسمبلی می‌تواند:

به Global Assembly Cache(GAC) استقرار یابد (deploye شود).

از کلاهبرداری جلوگیری شود (مهم‌ترین دلیل!)

اعمال Code Access Security (CAS) را آسان‌تر سازد

Code Analysis

کدی که نوشته‌اید چقدر دقیق و سالم است؟ آیا می‌دانید با استفاده از Analyze در ویژوال استودیو می‌توانید کد خود را بررسی کنید؟ اگر شما از این آنالیز کد رایگان استفاده نمی‌کنید، پس توقف کنید و آن را بر روی پروژه‌های خود فعال کنید!

1. فعال کردن Analyze، کد را در طی فرآیند build برای پروژه یا سولوشن آنالیز می‌کند. این امر نه تنها برای رفع باگ‌ها در کد مهم است بلکه انجام آن در طی مراحل build در حالی که کدنویسی می‌کنید بسیار ارزان‌تر است نسبت به اینکه بعدا آن باگ پیدا شود یا بدتر از آن کاربر آن را گزارش دهد. برخی از تخلفاتی که Analyze بررسی می‌کند عبارتند از طراحی، سراسری سازی، نام‌گذاری، عملکرد، امنیت،‌ کاربرد،‌ نگهداری، قابلیت حمل و قابلیت اطمینان.

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

                                       

اگر شما نسخه‌ای از ویژوال استودیو دارید که شامل Code Analysis است، " Enable Code Analysis on Build" را فعال کنید (به صورت پیش‌فرض غیرفعال است).

در "Rule Set" تنظیمات قوانین مناسبی را برای پروژه خود انتخاب کنید یا یک حالت سفارشی ایجاد کنید. به طور کلی، ما " Microsoft Managed Recommended Rules" را برای همه DLLها و " Microsoft All Rules" را برای EXEها از جمله ASP.NET انتخاب می‌کنیم.

جمع‌بندی

در اینجا اطلاعاتی را در رابطه با NET Framework. برای شما فراهم کردید که باعث کدنویسی و ساخت پروژه‌های بهتر می‌شود. دفعه بعد که یک پروژه جدید در NET Framework. ایجاد کردید، امیدواریم از این اطلاعات برای تنظیمات آن استفاده کنید.

ایمان مدائنی

نویسنده 1299 مقاله در برنامه نویسان

کاربرانی که از نویسنده این مقاله تشکر کرده اند

در صورتی که در رابطه با این مقاله سوالی دارید، در تاپیک های انجمن مطرح کنید