CA1720: Gli identificatori non devono contenere nomi di tipo
TypeName |
IdentifiersShouldNotContainTypeNames |
CheckId |
CA1720 |
Category |
Microsoft.Naming |
Breaking Change |
Breaking |
Causa
Il nome di un parametro in un membro visibile esternamente contiene un nome del tipo di dati.
In alternativa
Il nome di un membro visibile esternamente contiene un nome del tipo di dati specifico del linguaggio.
Descrizione della regola
I nomi dei parametri e dei membri sono prevalentemente utilizzati per comunicare il loro significato piuttosto che per descriverne il tipo, il quale viene in genere fornito dagli strumenti di sviluppo. Per i nomi dei membri, se è necessario utilizzare un nome del tipo di dati, utilizzare un nome indipendente dal linguaggio anziché uno specifico del linguaggio. Anziché il nome del tipo C# 'int', ad esempio, utilizzare il nome del tipo di dati indipendente dal linguaggio Int32.
Ogni token discreto nel nome del parametro o del membro viene confrontato con i seguenti nomi del tipo di dati specifici del linguaggio senza distinzione tra maiuscole e minuscole:
Bool
WChar
Int8
UInt8
Short
UShort
Int
UInt
Integer
UInteger
Long
ULong
Unsigned
Signed
Float
Float32
Float64
I nomi di un parametro vengono inoltre confrontati con i seguenti nomi del tipo di dati indipendenti dal linguaggio senza distinzione tra maiuscole e minuscole:
Object
Obj
Boolean
Char
Stringa
SByte
Byte
UByte
Int16
UInt16
Int32
UInt32
Int64
UInt64
IntPtr
Ptr
Puntatore
UInptr
UPtr
UPointer
Single
Double
Decimal
Guid
Come correggere le violazioni
Se generate rispetto a un parametro:
Sostituire l'identificatore del tipo di dati nel nome del parametro con un termine che ne descrive meglio il significato o con un termine più generico, ad esempio 'value'.
Se generate rispetto a un membro:
Sostituire l'identificatore del tipo di dati specifico del linguaggio nel nome del membro con un termine che ne descrive meglio il significato, con un equivalente indipendente dal linguaggio oppure con un termine più generico, ad esempio 'value'.
Esclusione di avvisi
L'utilizzo occasionale di nomi di parametri e membri basati sul tipo potrebbe essere appropriato. Tuttavia, per i nuovi sviluppi, non vi sono scenari noti in cui sia necessario escludere un avviso da questa regola. Per le librerie fornite in precedenza, potrebbe essere necessario escludere un avviso da questa regola.
Regole correlate
CA1708: Gli identificatori non si devono differenziare solo in base alle maiuscole e minuscole
CA1707: Gli identificatori non devono contenere caratteri di sottolineatura
CA1719: I nomi dei parametri non devono corrispondere ai nomi dei membri