Поделиться через


CA1720: идентификаторы не должны содержать имен типов

TypeName

IdentifiersShouldNotContainTypeNames

CheckId

CA1720

Категория

Microsoft.Naming

Критическое изменение

Критическое изменение

Причина

Имя параметра в доступном для внешнего кода члене содержит имя типа данных.

– или –

Имя доступного для внешнего кода члена содержит имя типа данных, относящееся к конкретному языку программирования.

Описание правила

Имена параметров и членов удобнее использовать таким образом, чтобы они передавали свое назначение, а не описывали свой тип. Именно такой принцип именования ожидается от средств разработки. Если в именах членов требуется указывать имя типа данных, следует использовать не зависящие от конкретного языка имена. Например, вместо имени типа "int" языка C# используйте не связанное с конкретным языком имя типа данных "Int32".

Ниже перечислены связанные с конкретным языком программирования имена типов данных, на совпадение с которыми проверяется каждая дискретная лексема в имени параметра или члена. Регистр знаков при этом не учитывается.

  • Bool

  • WChar

  • Int8

  • UInt8

  • Short

  • UShort

  • Int

  • UInt

  • Целое число

  • UInteger

  • Long

  • ULong

  • Unsigned

  • Signed

  • Float

  • Float32

  • Float64

Далее перечислены несвязанные с конкретными языками программирования имена типов данных, на совпадение с которыми также проверяются имена параметров. Регистр знаков при этом не учитывается.

  • Объект

  • Obj

  • Boolean

  • Char

  • Строка

  • SByte

  • Byte

  • UByte

  • Int16

  • UInt16

  • Int32

  • UInt32

  • Int64

  • UInt64

  • IntPtr;

  • Ptr

  • Pointer

  • UInptr

  • UPtr

  • UPointer

  • Single

  • Double

  • Десятичное число

  • Guid

Устранение нарушений

Нарушение обнаружено в имени параметра.

Замените идентификатор типа данных в имени параметра термином, который лучше описывает назначение параметра, или более общим термином, например "value".

Нарушение обнаружено в имени члена.

Замените относящийся к конкретному языку программирования идентификатор типа данных в имени члена термином, который лучше описывает назначение параметра, эквивалентным идентификатором, не связанным с определенным языком, или более общим термином, например "value".

Отключение предупреждений

Иногда использование идентификаторов типов в именах членов и параметров бывает оправданным. Однако при разработке нового кода случаи, когда необходимо отключать предупреждения о нарушении данного правила, неизвестны. В случае ранее поставлявшихся библиотек подобные предупреждения, возможно, необходимо отключать.

Связанные правила

CA1709: идентификаторы должны иметь правильный регистр

CA1708: идентификаторы должны отличаться не только регистром

CA1707: идентификаторы не должны содержать знак подчеркивания

CA1719: имена параметров не должны совпадать с именами элементов