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.
A kódstílusú nyelvi szabályok befolyásolják a .NET-programozási nyelvek különböző szerkezeteit, például a módosítókat és a zárójeleket.
Ez a kategória olyan szabályokat is tartalmaz, amelyek azonosítják a kódbázis szükségtelen részeit, és újrabontásra vagy eltávolításra kerülhetnek. A szükségtelen kód jelenléte az alábbi problémák közül egy vagy többre utal:
- Olvashatóság: Olyan kód, amely szükségtelenül rontja az olvashatóságot.
- Karbantarthatóság: Az újrabontás után már nem használt és szükségtelenül karbantartott kód.
- Teljesítmény: Szükségtelen számítások, amelyek nincsenek mellékhatásai, és szükségtelen teljesítményterheléshez vezetnek.
- Funkció: Funkcionális probléma a kódban, amely redundánssá teszi a szükséges kódokat. Például IDE0060 nem használt paramétereket jelöl, amelyeknél a metódus véletlenül figyelmen kívül hagy egy bemeneti paramétert.
A nyelvi szabályok a következő kategóriákba sorolhatók:
- .NET-stílusszabályok: A C#-ra és a Visual Basicre egyaránt érvényes szabályok. A szabályok beállításnevei az előtaggal kezdődnek
dotnet_style_. - C#-stílusszabályok: A C#-kódra vonatkozó szabályok. A szabályok beállításnevei az előtaggal kezdődnek
csharp_style_. - Visual Basic stílusszabályok: A Visual Basic-kódra vonatkozó szabályok. A szabályok beállításnevei az előtaggal kezdődnek
visual_basic_style_.
Beállításformátum
Számos nyelvi szabály rendelkezik egy vagy több társított beállítással az előnyben részesített stílus testreszabásához. Az egyszerű "használat" utasítás (IDE0063) használata például használni. A szabály kikényszeríti a megadott szinten kiválasztott beállításokat, például figyelmeztetést vagy hibát.
A nyelvi szabályok beállításai a következő formátumú konfigurációs fájlban adhatók meg:
option_name = value (Visual Studio 2019 és újabb verziók)
vagy
option_name = value:severity
Érték
Minden nyelvi szabályhoz meg kell adnia egy értéket, amely meghatározza, hogy a stílust szeretné-e előnyben részesíteni. Sok szabály elfogad egy értéket (előnyben részesíti ezt a
truestílust) vagyfalse(nem részesíti előnyben ezt a stílust). Más szabályok elfogadják az olyan értékeket, mint awhen_on_single_linevagynevera .Súlyosság (nem kötelező a Visual Studio 2019 és újabb verzióiban)
A szabály második része a szabály súlyossági szintjét határozza meg. A .NET 9-es és újabb verzióiban a súlyosságot mindig figyelembe kell venni, azaz a fejlesztési azonosítókon belül és a parancssori buildek során. A .NET 8-as és korábbi verzióiban ez a súlyossági beállítás csak a fejlesztési azonosítókon belül van betartva, például a Visual Studióban, és a buildelés során nem .
Ha a .NET 8 SDK-t vagy egy korábbi verziót használ, és azt szeretné, hogy a súlyosság a buildeléskor is érvényesüljön, ezt kétféleképpen teheti meg:
- Állítsa be a
<AnalysisLevel>vagy<AnalysisLevelStyle>tulajdonságot9.0vagy magasabbra, vagypreview-ra. - A súlyosságot az elemzők szabályazonosító-alapú súlyossági konfigurációs szintaxisával állíthatja be. A szintaxis például
dotnet_diagnostic.<rule ID>.severity = <severity>az űrlapotdotnet_diagnostic.IDE0040.severity = warningveszi fel. További információ: súlyossági szint.
- Állítsa be a
Tipp.
A Visual Studio 2019-től kezdődően a gyorsműveletek villanykörte menüjéből konfigurálhat kódstílus-szabályokat a stílus megsértése után.
Szabályindex
A nyelvi és a szükségtelen kódszabályok további alkategóriákba vannak sorolva, például kifejezésszintű beállítások, kódblokk-beállítások és módosító beállítások.
-
usingdirektíva-beállítások - Kódblokk beállításai
- Kifejezéssel testesített tagok
- Kifejezésszintű beállítások
- Mezőbeállítások
- Nyelvi kulcsszó és keretrendszertípusok beállításai
- Módosító beállítások
- Új sor beállításai
- Null-ellenőrzési beállítások
- Paraméterbeállítások
- Zárójelek beállításai
- Mintaegyeztetési beállítások
- Letiltási beállítások
-
This.ésme.beállítások -
varbeállítások
using direktíva-beállítások
.NET-stílusszabályok (C# és Visual Basic):
C# stílusszabályok:
- Szükségtelen eltávolítása irányelvek használatával (IDE0005)
- "használat" irányelv elhelyezése (IDE0065)
Kódblokk beállításai
C# stílusszabályok:
- Kapcsos zárójelek hozzáadása (IDE0011)
- Egyszerű "használat" utasítás használata (IDE0063)
- Névtér deklarálási beállításai (IDE0160, IDE0161)
- Szükségtelen lambdakifejezés eltávolítása (IDE0200)
- Konvertálás legfelső szintű utasításokká (IDE0210)
- Konvertálás "Program.Main" stílusú programra (IDE0211)
- Elsődleges konstruktor használata (IDE0290)
- A System.Threading.Lock (IDE0330) előnyben részesítése
Kifejezéssel testesített tagok
C# stílusszabályok:
- Kifejezéstörzs használata konstruktorokhoz (IDE0021)
- Kifejezéstörzs használata metódusokhoz (IDE0022)
- Kifejezéstörzs használata operátorokhoz (IDE0023, IDE0024)
- Kifejezéstörzs használata tulajdonságokhoz (IDE0025)
- Kifejezéstörzs használata indexelőkhöz (IDE0026)
- Kifejezéstörzs használata tartozékokhoz (IDE0027)
- Kifejezéstörzs használata lambdákhoz (IDE0053)
- Kifejezéstörzs használata helyi függvényekhez (IDE0061)
Kifejezésszintű beállítások
.NET-stílusszabályok (C# és Visual Basic):
- Név egyszerűsítése (IDE0001)
- Taghozzáférés egyszerűsítése (IDE0002)
- Felesleges leadás eltávolítása (IDE0004)
- Hiányzó esetek hozzáadása utasításváltáshoz (IDE0010)
- Objektum inicializálók használata (IDE0017)
- Gyűjtemény inicializálók használata (IDE0028)
- A null ellenőrzés egyszerűsíthető (IDE0029, IDE0030, IDE0270)
- Null propagálás használata (IDE0031)
- Automatikusan implementált tulajdonság használata (IDE0032)
- Explicit módon megadott név használata (IDE0033)
- Nem elérhető kód eltávolítása (IDE0035)
- Tagnevek (IDE0037) használata
- "is null" ellenőrzés használata (IDE0041)
- Feltételes kifejezés használata hozzárendeléshez (IDE0045)
- Feltételes kifejezés használata visszatéréshez (IDE0046)
- Névtelen típus konvertálása rekordra (IDE0050)
- Nem használt privát tag eltávolítása (IDE0051)
- Olvasatlan privát tag eltávolítása (IDE0052)
- Összetett hozzárendelés használata (IDE0054, IDE0074)
- Szükségtelen kifejezésérték eltávolítása (IDE0058)
- Szükségtelen érték hozzárendelésének eltávolítása (IDE0059)
- A System.HashCode.Combine (IDE0070) használata
- Az interpoláció egyszerűsítése (IDE0071)
- Feltételes kifejezés egyszerűsítése (IDE0075)
-
typeofKonvertálásnameof(IDE0082) - Szükségtelen egyenlőségi operátor eltávolítása (IDE0100)
- LINQ-kifejezés egyszerűsítése (IDE0120)
- A LINQ típusellenőrzésének és leadásának egyszerűsítése (IDE0121)
- A névtér nem egyezik a mappastruktúrával (IDE0130)
C# stílusszabályok:
- Dobókifejezés használata (IDE0016)
- Beágyazott változódeklaráció (IDE0018)
- Az "alapértelmezett" kifejezés egyszerűsítése (IDE0034)
- Helyi függvény használata lambda helyett (IDE0039)
- Változó dekonstruálásának deklarációja (IDE0042)
- Index operátor használata (IDE0056)
- Tartomány operátor használata (IDE0057)
- Hiányzó esetek hozzáadása kifejezésváltáshoz (IDE0072)
- Szükségtelen elnyomási operátor eltávolítása (IDE0080)
-
Kifejezés egyszerűsítése
new(IDE0090) - Szükségtelen elvetés eltávolítása (IDE0110)
- A "null" ellenőrzés előnyben részesítve a típusellenőrzést (IDE0150)
- Értékek felcserélése (IDE0180)
- Explicit cast hozzáadása a foreach ciklusban (IDE0220)
- UTF-8 sztringkonstans használata (IDE0230)
- A null értékű irányelv redundáns (IDE0240)
- A null értékű irányelv szükségtelen (IDE0241)
- Gyűjteménykifejezés használata tömbhöz (IDE0300)
- Gyűjteménykifejezés használata üres (IDE0301)
- Gyűjteménykifejezés használata a stack-kiosztáshoz (IDE0302)
-
Gyűjteménykifejezés
Create()használata (IDE0303) - Gyűjteménykifejezés használata a szerkesztőhöz (IDE0304)
- Gyűjteménykifejezés használata fluenthez (IDE0305)
- Gyűjteménykifejezés használata újakhoz (IDE0306)
- Kötetlen általános típus használata (IDE0340)
- Implicit módon gépelt lambda használata (IDE0350)
- Tulajdonságkiegészítő egyszerűsítése (IDE0360)
Visual Basic stílusszabályok:
-
Eltávolítás
ByVal(IDE0081) -
Mintaegyeztetés (
IsNotoperátor) használata (IDE0084) - Objektumlétrehozás egyszerűsítése (IDE0140)
Mezőbeállítások
.NET-stílusszabályok (C# és Visual Basic):
Nyelvi kulcsszó és keretrendszertípusok beállításai
.NET-stílusszabályok (C# és Visual Basic):
Módosító beállítások
.NET-stílusszabályok (C# és Visual Basic):
C# stílusszabályok:
- Helyi függvény statikussá tétele (IDE0062)
- Strukturált mezők írhatóvá tétele (IDE0064)
- A szerkezet "olvashatóan" készíthető (IDE0250)
- A tag "olvasható" (IDE0251)
- Névtelen függvény statikussá tétele (IDE0320)
-
Szükségtelen
unsafemódosító eltávolítása (IDE0380)
Új sor beállításai
.NET-stílusszabályok (C# és Visual Basic):
C# stílusszabályok:
- A beágyazott utasításoknak a saját sorukban (IDE2001)†
- Az egymást követő kapcsos zárójelek között nem lehet üres sor (IDE2002)†
- A konstruktor inicializáló kettőspontja (IDE2004)†
- A feltételes kifejezés jogkivonata (IDE2005)†
- A nyílkifejezési záradék jogkivonata (IDE2006)†
†A szabályok kísérleti jellegűek, és változhatnak vagy eltávolíthatók.
Null-ellenőrzési beállítások
C# stílusszabályok:
Paraméterbeállítások
.NET-stílusszabályok (C# és Visual Basic):
Zárójelek beállításai
.NET-stílusszabályok (C# és Visual Basic):
Mintaegyeztetési beállítások
C# stílusszabályok:
- Használjon mintaegyezést az "as" és a "null" ellenőrzés elkerüléséhez (IDE0019)
- Mintaegyezés használata az "is" ellenőrzés és a leadás (IDE0020, IDE0038) elkerüléséhez
- Kapcsolókifejezés használata (IDE0066)
- Mintaegyezés használata (IDE0078 és IDE0260)
-
Mintaegyeztetés (
notoperátor) használata (IDE0083) - Tulajdonságminta egyszerűsítése (IDE0170)
Letiltási beállítások
.NET-stílusszabályok (C# és Visual Basic):
C# stílusszabályok:
This. és me. beállítások
.NET-stílusszabályok (C# és Visual Basic):
var beállítások
C# stílusszabályok: