Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
Tulajdonság | Érték |
---|---|
Szabályazonosító | CA1715 |
Cím | Az azonosítóknak helyes előtaggal kell rendelkezniük |
Kategória | Elnevezés |
A javítás kompatibilitástörő vagy nem törik | Törés - amikor aktiválva van a felületeken. Nem törés – általános típusparaméterek esetén. |
Alapértelmezés szerint engedélyezve a .NET 9-ben | Nem |
Ok
A felület neve nem "I" nagybetűvel kezdődik.
-vagy-
Egy típus vagy metódus általános típusparaméterének neve nem "T" nagybetűvel kezdődik.
Ez a szabály alapértelmezés szerint csak külsőleg látható felületeket, típusokat és metódusokat tekint meg, de ez konfigurálható.
Szabály leírása
Bizonyos programozási elemek neve konvenció szerint egy adott előtaggal kezdődik.
Az illesztőneveknek nagybetűs "I" betűvel kell kezdődnie, majd egy másik nagybetűvel. Ez a szabály olyan felületnevek megsértéseit jelenti, mint a "MyInterface" és az "IsolatedInterface".
Az általános típusparaméterek neveinek nagybetűs "T" betűvel kell kezdődnie, és opcionálisan egy másik nagybetű is követhető. Ez a szabály az olyan általános típusparaméter-nevek megsértéseit jelenti, mint a "V" és a "Type".
Az elnevezési konvenciók gyakran keresik a közös nyelvi futtatókörnyezetet megcélzó kódtárakat. Ez csökkenti az új szoftverkódtárakhoz szükséges tanulási görbét, és növeli az ügyfelek bizalmát abban, hogy a kódtárat olyan személy fejlesztette ki, aki jártas a felügyelt kód fejlesztésében.
Kód konfigurálása elemzéshez
A következő beállítások segítségével konfigurálhatja, hogy a kódbázis mely részein futtassa ezt a szabályt.
Ezeket a beállításokat konfigurálhatja csak erre a szabályra, az összes szabályra, vagy az ebben a kategóriában szereplő összes szabályra (elnevezési), amelyekre vonatkoznak. További információ: Kódminőségi szabály konfigurációs beállításai.
Adott API-felületek belefoglalása
A api_surface beállítással konfigurálhatja, hogy a kódbázis mely részein futtassa a szabályt az akadálymentességük alapján. Ha például meg szeretné adni, hogy a szabály csak a nem nyilvános API-felületen fusson, adja hozzá a következő kulcs-érték párot a projekt egyik .editorconfig fájljához:
dotnet_code_quality.CAXXXX.api_surface = private, internal
Feljegyzés
Cserélje le a XXXX
CAXXXX
részét a vonatkozó szabály azonosítójára.
Egy karakteres típusparaméterek
Konfigurálhatja, hogy kizárja-e az egy karakterből álló típusparamétereket ebből a szabályból. Ha például meg szeretné adni, hogy ez a szabály ne elemezze az egykarakú típusparamétereket, adja hozzá az alábbi kulcs-érték párok egyikét a projekt egyik .editorconfig fájljához:
# Package version 2.9.0 and later
dotnet_code_quality.CA1715.exclude_single_letter_type_parameters = true
# Package version 2.6.3 and earlier
dotnet_code_quality.CA2007.allow_single_letter_type_parameters = true
Feljegyzés
Ez a szabály soha nem aktiválódik például T
egy típusparaméter Collection<T>
esetében.
Szabálysértések kijavítása
Nevezze át az azonosítót úgy, hogy megfelelően legyen előtagban.
Mikor kell letiltani a figyelmeztetéseket?
Ne tiltsa el a szabály figyelmeztetését.
Példa a felület elnevezésére
A következő kódrészlet helytelenül elnevezett felületet jelenít meg:
' Violates this rule
Public Interface Book
ReadOnly Property Title() As String
Sub Read()
End Interface
// Violation.
public interface Book
{
string Title
{
get;
}
void Read();
}
Az alábbi kódrészlet az "I" előtaggal javítja ki az előző szabálysértést:
// Fixes the violation by prefixing the interface with 'I'.
public interface IBook
{
string Title
{
get;
}
void Read();
}
' Fixes the violation by prefixing the interface with 'I'
Public Interface IBook
ReadOnly Property Title() As String
Sub Read()
End Interface
Típusparaméter elnevezési példa
A következő kódrészlet egy helytelenül elnevezett általános típusparamétert jelenít meg:
' Violates this rule
Public Class Collection(Of Item)
End Class
// Violation.
public class Collection<Item>
{
}
Az alábbi kódrészlet a "T" előtaggal javítja ki az előző szabálysértést:
// Fixes the violation by prefixing the generic type parameter with 'T'.
public class Collection<TItem>
{
}
' Fixes the violation by prefixing the generic type parameter with 'T'
Public Class Collection(Of TItem)
End Class