Språk och onödiga regler

Regler för kodstil påverkar hur olika konstruktioner av .NET-programmeringsspråk, till exempel modifierare och parenteser, används.

Den här kategorin innehåller även regler som identifierar delar av kodbasen som är onödiga och kan omstruktureras eller tas bort. Förekomsten av onödig kod indikerar något av följande problem:

  • Läsbarhet: Kod som i onödan försämrar läsbarheten.
  • Underhåll: Kod som inte längre används efter refaktorisering och underhålls i onödan.
  • Prestanda: Onödig beräkning som inte har några biverkningar och leder till onödiga prestandakostnader.
  • Funktioner: Funktionsproblem i kod som gör nödvändig kod redundant. Till exempel IDE0060 flaggar oanvända parametrar där metoden av misstag ignorerar en indataparameter.

Språkreglerna är indelade i följande kategorier:

  • .NET-formatregler: Regler som gäller för både C# och Visual Basic. Alternativnamnen för dessa regler börjar med prefixet dotnet_style_.
  • C#-formatregler: Regler som är specifika för C#-kod. Alternativnamnen för dessa regler börjar med prefixet csharp_style_.
  • Visual Basic-formatregler: Regler som är specifika för Visual Basic-kod. Alternativnamnen för dessa regler börjar med prefixet visual_basic_style_.

Alternativformat

Många av språkreglerna har ett eller flera associerade alternativ för att anpassa önskat format. Använd till exempel enkel "using"-instruktion (IDE0063) har det associerade alternativet csharp_prefer_simple_using_statement som gör att du kan definiera om du föredrar en using deklaration eller en using instruktion. Regeln tillämpar de alternativ som du väljer på en angiven nivå, till exempel varning eller fel.

Alternativ för språkregler kan anges i en konfigurationsfil med följande format:

option_name = value (Visual Studio 2019 och senare)

eller

option_name = value:severity

  • Värde

    För varje språkregel anger du ett värde som definierar om eller när formatmallen ska föredras. Många regler accepterar värdet true (föredrar det här formatet) eller false (föredrar inte det här formatet). Andra regler accepterar värden som when_on_single_line eller never.

  • Allvarlighetsgrad (valfritt i Visual Studio 2019 och senare versioner)

    Den andra delen av regeln anger allvarlighetsgraden för regeln. I .NET 9- och senare versioner respekteras alltid allvarlighetsgraden – det vill: i utvecklings-ID:er och under kommandoradsversioner. I .NET 8 och tidigare versioner respekteras den här allvarlighetsinställningen endast i utvecklings-ID:er, till exempel Visual Studio, och inte under kompilering.

    Om du använder .NET 8 SDK eller en tidigare version och vill att allvarlighetsgraden ska respekteras vid bygget kan du göra det på något av två sätt:

Dricks

Från och med Visual Studio 2019 kan du konfigurera regler för kodformat från menyn Snabbåtgärder glödlampa när en stilöverträdelse inträffar.

Regelindex

Språkregler och onödiga kodregler kategoriseras ytterligare i underkategorier, till exempel inställningar på uttrycksnivå, inställningar för kodblock och modifierare.

using direktivpreferenser

.NET-formatregler (C# och Visual Basic):

C#-formatregler:

Inställningar för kodblock

C#-formatregler:

Medlemmar i uttrycksfyllnad

C#-formatregler:

Inställningar på uttrycksnivå

.NET-formatregler (C# och Visual Basic):

C#-formatregler:

Visual Basic-formatregler:

Fältinställningar

.NET-formatregler (C# och Visual Basic):

Språknyckelord jämfört med inställningar för ramverkstyper

.NET-formatregler (C# och Visual Basic):

Inställningar för modifierare

.NET-formatregler (C# och Visual Basic):

C#-formatregler:

Inställningar för ny rad

  • Tillåt flera tomma rader (IDE2000)
  • Tillåt inbäddade instruktioner på samma rad (IDE2001)
  • Tillåt tomma linjer mellan efterföljande klammerparenteser (IDE2002)
  • Tillåt -instruktion omedelbart efter blockering (IDE2003)
  • Tillåt tom rad efter kolon i konstruktorinitieraren (IDE2004)
  • Tillåt tom rad efter token i villkorsuttryck (IDE2005)
  • Tillåt tom rad efter token i piluttryck (IDE2006)

Inställningar för null-kontroll

C#-formatregler:

Parameterinställningar

.NET-formatregler (C# och Visual Basic):

Parentesinställningar

.NET-formatregler (C# och Visual Basic):

Mönstermatchningsinställningar

C#-formatregler:

Inställningar för undertryckning

.NET-formatregler (C# och Visual Basic):

This. och me. inställningar

.NET-formatregler (C# och Visual Basic):

var Inställningar

C#-formatregler:

Se även