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


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

Обновлен: Ноябрь 2007

TypeName

IdentifiersShouldNotContainTypeNames

CheckId

CA1720

Категория

Microsoft.Naming

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

Критическое

Причина

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

либо

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

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

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

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

  • Bool

  • WChar

  • Int8

  • UInt8

  • Short

  • UShort

  • Int

  • UInt

  • Integer

  • UInteger

  • Long

  • ULong

  • Unsigned

  • Signed

  • Float

  • Float32

  • Float64

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

  • Object

  • Obj

  • Boolean

  • Char

  • String

  • SByte

  • Byte

  • UByte

  • Int16

  • UInt16

  • Int32

  • UInt32

  • Int64

  • UInt64

  • IntPtr

  • Ptr

  • Pointer

  • UInptr

  • UPtr

  • UPointer

  • Single

  • Double

  • Decimal

  • Guid

Предотвращение нарушений

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

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

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

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

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

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

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

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

Идентификаторы должны отличаться не только прописными и строчными буквами

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

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