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 .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# és a Visual Basic 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ű "using" utasítás (IDE0063) például rendelkezik egy lehetőséggel , amely lehetővé teszi, hogy eldöntse, hogy inkább deklarációt vagy egy utasítást szeretne csharp_prefer_simple_using_statement, using 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 (2019-Visual Studio é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 .Severity (2019-Visual Studio és újabb verziókban nem kötelező)
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 veszik, azaz a fejlesztői IDE-kben és a parancssori buildek során. A .NET 8-as és korábbi verziókban ezt a súlyossági beállítást csak a fejlesztői IDE-ken belül tartják be, például a Visual Studio-ban, és nem a buildelés során.
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 legyen tiszteletben tartva, 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 az
dotnet_diagnostic.<rule ID>.severity = <severity>formát veszi fel, példáuldotnet_diagnostic.IDE0040.severity = warning. További információ: súlyossági szint.
- Állítsa be a
Tipp.
2019 Visual Studio-tól kezdve a Quick Actions villanykörte menü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.
-
usingirányelv beállítások - Kódblokk beállításai
- Kifejezés-alapú 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
- Elnyomá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 használati irányelvek eltávolítása (IDE0005)
- "használat" irányelv elhelyezése (IDE0065)
Kódblokk beállítások
C# stílusszabályok:
- Görbe 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)
- Részesítse előnyben a System.Threading.Lock (IDE0330)
- Címkézett ugrási utasítás használata (IDE0410)
Kifejezéssel kifejezett 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éstestet használjon hozzáférőkhöz (IDE0027)
- Használj kifejezéstörzseket 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 típuskonverzió eltávolítása (IDE0004)
- Hiányzó esetek hozzáadása a switch utasítá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 alkalmazása (IDE0031)
- Automatikusan implementált tulajdonság használata (IDE0032)
- Explicit módon megadott tuple név használata (IDE0033)
- Nem elérhető kód eltávolítása (IDE0035)
- Következtetett tagnevek használata (IDE0037)
- "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 tömbre (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)
- Használja a System.HashCode.Combine parancsot (IDE0070)
- Az interpoláció egyszerűsítése (IDE0071)
- Feltételes kifejezés egyszerűsítése (IDE0075)
-
typeofkonvertálásanameof-re (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)
- Érvénytelen formázási sztring (IDE0043)
- 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 eldobás eltávolítása (IDE0110)
- 'Null' ellenőrzést részesítsen előnyben a típusellenőrzéssel szemben (IDE0150)
- Tuple használata értékek felcseréléséhez (IDE0180)
- Explicit cast hozzáadása a foreach ciklusban (IDE0220)
- Explicit leadás hozzáadása (IDE0221)
- UTF-8 karakterlánc literál 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)
- Üres gyűjteménykifejezés használata (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ések használata a Fluent interfészhez (IDE0305)
- Új gyűjteménykifejezés használata (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)
- A név nem létezik az aktuális környezetben (IDE1007)
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 "csak olvashatóvá tehető" (IDE0251)
- Névtelen függvény statikussá tétele (IDE0320)
-
Szükségtelen
unsafemódosító eltávolítása (IDE0380) - Módszer szinkronizálása (IDE0390, IDE0391)
Új sor beállításai
.NET stílusszabályok (C# és Visual Basic):
- Kerülje a több üres sort (IDE2000)†
- Üres sor szükséges a blokk és az azt követő utasítás közé (IDE2003)
C# stílusszabályok:
- A beágyazott utasításoknak a saját sorukban kell, hogy legyenek (IDE2001)
- Az egymást követő kapcsos zárójelek között nem lehet üres sor (IDE2002)†
- A konstruktor inicializáló kettőspontja után nem engedélyezett üres sor (IDE2004)
- Üres sor nem megengedett a feltételes kifejezés token után (IDE2005)
- Üres sor nem engedélyezett a nyílkifejezési záradék tokenje után (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 kasztolá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)
Elnyomá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: