Щодо іменування C # для скорочень, якщо я писав бібліотеку, пов’язану з Windows API, чи існує якась сувора конвенція щодо WindowsApi або WindowsAPI, чи це лише особисті переваги?
Щодо іменування C # для скорочень, якщо я писав бібліотеку, пов’язану з Windows API, чи існує якась сувора конвенція щодо WindowsApi або WindowsAPI, чи це лише особисті переваги?
Відповіді:
Існує домовленість, і вона визначає початкові великі літери, решта малі регістри, для всіх скорочень, що мають більше 2 символів. Звідси HttpContext
і ClientID
.
" Рекомендації щодо каркасного дизайну ", друге видання Кшиштофа Кваліни та Бреда Абрамса, с.40-42
3.1.2 Великі абревіатури
ЗАПИСАТИ обидва символи з двознакових скорочень, за винятком першого слова ідентифікатора верблюда.
System.IO
public void StartIO(Stream ioStream)
ЗАПИСАТИ великі літери лише першого символу абревіатур із трьома або більше символами, за винятком першого слова ідентифікатора у верблюдах.
System.Xml
public void ProcessHtmlTag(string htmlTag)
НЕ пишіть літери будь-яких символів будь-яких абревіатур, незалежно від їх довжини, на початку ідентифікатора у верблюдах.
Ознайомтеся з офіційними документами корпорації Майкрософт щодо правил іменування та умов використання великих літер :
Щоб розрізнити слова в ідентифікаторі, слід писати велику літеру кожного слова в ідентифікаторі. Не використовуйте символи підкреслення для розрізнення слів або, що стосується цього, де-небудь в ідентифікаторах. Залежно від використання ідентифікатора можна використовувати два відповідні способи написання великих літер:
- PascalCasing
- верблюжча оболонка
PascalCasing конвенції, використовується для всіх ідентифікаторів , за винятком імен параметрів, капіталізує перший символ кожного слова ( в тому числі скорочень більше двох букв в довжину), як показано в наступних прикладах:
PropertyDescriptor
HtmlTag
Особливий випадок наведено для абревіатур із двох літер, у яких обидві літери пишуться з великої літери, як показано в наступному ідентифікаторі:
IOStream
CamelCasing конвенції, використовується тільки для імен параметрів, з великої літери кожного слова , крім першого слова, як показано в наступних прикладах. Як приклад також показує, двобуквені абревіатури, що починають ідентифікатор верблюда, мають обидві літери.
propertyDescriptor
ioStream
htmlTag
✓ ВИКОРИСТОВУЙТЕ PascalCasing для всіх загальнодоступних імен членів, типів та простору імен, що складаються з декількох слів.
✓ НЕ використовуйте camelCasing для імен параметрів.
Старе питання, нова відповідь.
Відповідно до .NET 4 Правила використання великих літер для скорочень :
Набирайте великі літери обома символами двосимвольних абревіатур, окрім першого слова ідентифікатора верблюда.
Властивість з іменем
DBRate
є прикладом короткої абревіатури (DB
), яка використовується як перше слово ідентифікатора, обкладеного Паскалем. Іменований параметрioChannel
є прикладом короткої абревіатури (IO
), яка використовується як перше слово ідентифікатора, що знаходиться у верблюдах.Пишіть великі літери лише першим символом абревіатур із трьома або більше символами, крім першого слова ідентифікатора верблюдів.
Клас з іменем
XmlWriter
є прикладом довгої абревіатури, що використовується як перше слово ідентифікатора, обкладеного Паскалем. Іменований параметрhtmlReader
є прикладом довгої абревіатури, що використовується як перше слово ідентифікатора, що тримається на верблюдах.Не використовуйте великі літери будь-яких символів будь-яких абревіатур, незалежно від їх довжини, на початку ідентифікатора у верблюдах.
Іменований параметр
xmlStream
є прикладом довгої абревіатури (xml
), яка використовується як перше слово ідентифікатора, що знаходиться у верблюдах. Іменований параметрdbServerName
є прикладом короткої абревіатури (db
), яка використовується як перше слово ідентифікатора, що знаходиться у верблюдах.
Я чув, що вам слід уникати скорочень, щоб тоді це стало WindowsApplicationProgrammingInterface
.
Більш серйозно (здається, люди неправильно читають вище, незважаючи на цитату нижче), на цій сторінці сказано:
Будь-які абревіатури з трьох або більше букв мають бути регістром Pascal, а не всі великі літери.
Оскільки API вважається загальновідомою абревіатурою, ім’я WindowsApi
слід вибрати, якщо ви хочете слідувати інструкціям.
Це все лише особисті (або організаційні) переваги. Поки ви послідовні, ви будете добре.
Сам .NET Framework використовував би WindowsApi.
Його особисті переваги. Але .NET використовував би WindowsApi
. Це схоже на найменування TcpClient
.
Погляньте і на FxCop. Це приємна утиліта, яка допоможе вирішити подібні проблеми.