Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
| Proprietà | valore |
|---|---|
| ID regola | CA1707 |
| Title | Gli identificatori non devono contenere caratteri di sottolineatura |
| Categoria | Denominazione |
| La correzione causa un'interruzione o meno | Interruzione: quando generato sugli assembly Non di rilievo: quando generato sui parametri di tipo |
| Abilitato per impostazione predefinita in .NET 10 | No |
Causa
Il nome di un identificatore contiene il carattere di sottolineatura (_).
Descrizione regola
Per convenzione i nomi degli identificatori non contengono il carattere di sottolineatura (_). La regola controlla spazi dei nomi, tipi, membri e parametri.
Le convenzioni di denominazione forniscono un aspetto comune per le librerie destinate a Common Language Runtime. In questo modo si riduce la curva di apprendimento necessaria per le nuove librerie software e si aumenta la fiducia dei clienti che la libreria è stata sviluppata da un utente esperto nello sviluppo di codice gestito.
Come correggere le violazioni
Rimuovere tutti i caratteri di sottolineatura dal nome.
Example
// This code violates the rule.
namespace ca_1707
{
public interface IUser_Service
{
void Add_User(User_Model user_Model);
}
public class User_Service : IUser_Service
{
public const string Admin_Name = "admin";
public event EventHandler? User_Added;
public void Add_User(User_Model user_Model)
{
// ...
}
}
public struct User_Model
{
public int User_Id { get; set; }
}
public enum User_Type
{
Client_User = 0,
Manager_Admin = 1,
Syper_Admin = 3,
}
}
Quando eliminare gli avvisi
Non eliminare gli avvisi per il codice di produzione. Tuttavia, è possibile eliminare questo avviso per il codice di test.
Eliminare un avviso
Se si vuole eliminare una singola violazione, aggiungere direttive del preprocessore al file di origine per disabilitare e quindi riabilitare la regola.
#pragma warning disable CA1707
// The code that's violating the rule is on this line.
#pragma warning restore CA1707
Per disabilitare la regola per un file, una cartella o un progetto, impostarne la gravità none su nel file di configurazione.
[*.{cs,vb}]
dotnet_diagnostic.CA1707.severity = none
Per altre informazioni, vedere Come eliminare gli avvisi di analisi del codice.
Per i metodi noti nel codice Microsoft che attualmente usano un carattere di sottolineatura e non possono essere modificati, la regola deve essere eliminata.
Configurare il codice da analizzare
Usare l'opzione seguente per configurare le parti della codebase in cui eseguire questa regola.
È possibile configurare questa opzione solo per questa regola, per tutte le regole a cui si applica o per tutte le regole in questa categoria (denominazione) a cui si applica. Per altre informazioni, vedere Opzioni di configurazione delle regole di qualità del codice.
Includere superfici API specifiche
È possibile configurare le parti della codebase in modo da eseguire questa regola in base alla relativa accessibilità impostando l'opzione api_surface. Ad esempio, per specificare che la regola deve essere eseguita solo sulla superficie dell'API non pubblica, aggiungere la coppia chiave-valore seguente a un file con estensione editorconfig nel progetto:
dotnet_code_quality.CAXXXX.api_surface = private, internal
Nota
Sostituire la parte XXXX di CAXXXX con l'ID della regola applicabile.