عباس عباس زاده - Abbas Abbaszadeh
عباس عباس زاده - Abbas Abbaszadeh
خواندن ۱ دقیقه·۳ سال پیش

ویژوال استودیو را برای نامگذاری فیلدهای Private با Underscore پیکربندی کنید

اکثر استانداردهای کدنویسی سی شارپ استفاده از camelCase را برای متغیرهای محلی و camelCase_ را برای فیلدهای Private یا Internal توصیه می‌کنند. متأسفانه، Visual Studio فقط از camelCase برای این فیلدها استفاده می کند، که سناریوهای معمولی تزریق وابستگی را در سازنده ها آزاردهنده می کند :

// ctor public SomeClass(ISomeService someService) { this.someService = someService; // annoying same name format usage }

که البته من این نسخه را ترجیح میدهم :

// ctor public SomeClass(ISomeService someService) { _someService = someService; // obvious intent; no need for 'this' }

خوشبختانه شما می توانید با انجام تغییراتی در Visual Studio، این ویژگی را در آن ایجاد کنید.

  • در منو روی Tools کلیک کنید.
  • بر روی Options کلیک کنید.
  • بر روی Text Editor کلیک کنید.
  • بر روی #C کلیک کنید.
  • بر روی Code Style کلیک کنید.
  • بر روی Naming کلیک کنید.
  • بر روی Manage Naming styles کلیک کنید.

اکنون شما باید پنجره ی Manage naming styles را مشاهده کنید.

در این قسمت، بر روی علامت + سبز رنگ که در گوشه ی پائین صفحه، سمت چپ قرار گرفته کلیک کنید.

اکنون در پنجره ی Naming Style، اطلاعات خواسته شده را مطابق زیر وارد کنید.

  • Naming Style: _fieldName
  • Required Prefix: _
  • Capitalization: camel Case Name

مطابق تصویر، اگر این مراحل را درست انجام داده باشید، Sample Identifier ، مقدار exampleIdentifier_ را نمایش خواهد داد.

تقریبا به انتهای کار رسیده ایم! اکنون شما باید در قسمت زیر قرار گرفته باشید.

بر روی علامت + سبز رنگ کلیک کنید و سپس در لیست های کشویی مقادیر زیر را ( مطابق تصویر بالا ) انتخاب کنید.

  • Private or Internal Fields
  • _fieldName
  • Suggestion

حال در زمان refactoring یک پارامتر در Constractor برای ساخت متغیر و مقداردهی اولیه به آن، ویژوال استودیو آن را با استفاده از قانون نامگذاری fieldName_ نامگذاری می کند:

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

ترجمه ای هرچند ناقص اما کار راه انداز از :

https://ardalis.com/configure-visual-studio-to-name-private-fields-with-underscore/

clean codedependency injectionrefactoringویژوال استودیوتزریق وابستگی
همسر، پدر، توسعه دهنده نرم افزار، کارشناس بیمه های بازرگانی
شاید از این پست‌ها خوشتان بیاید