Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Reguły języka w stylu kodu wpływają na sposób użycia różnych konstrukcji języków programowania .NET, na przykład modyfikatorów i nawiasów.
Ta kategoria zawiera również reguły identyfikujące części bazy kodu, które są niepotrzebne i mogą być refaktoryzowane lub usuwane. Obecność niepotrzebnego kodu wskazuje co najmniej jeden z następujących problemów:
- Czytelność: kod, który niepotrzebnie obniża czytelność.
- Łatwość konserwacji: kod, który po refaktoryzacji nie jest już używany, a mimo to jest niepotrzebnie utrzymywany.
- Wydajność: Niepotrzebne obliczenia, które nie mają skutków ubocznych i prowadzą do niepotrzebnych obciążeń związanych z wydajnością.
- Funkcjonalność: problem funkcjonalny w kodzie, który sprawia, że wymagany kod jest nadmiarowy. Na przykład IDE0060 flaguje nieużywane parametry, w których metoda przypadkowo ignoruje parametr wejściowy.
Reguły języka należą do następujących kategorii:
- Reguły stylu platformy .NET: reguły dotyczące języków C# i Visual Basic. Nazwy opcji dla tych reguł zaczynają się od prefiksu
dotnet_style_. - Reguły stylu języka C#: reguły specyficzne dla kodu C#. Nazwy opcji dla tych reguł zaczynają się od prefiksu
csharp_style_. - Reguły stylu języka Visual Basic: reguły specyficzne dla kodu Języka Visual Basic. Nazwy opcji dla tych reguł zaczynają się od prefiksu
visual_basic_style_.
Format opcji
Wiele reguł języka ma co najmniej jedną skojarzną opcję dostosowywania preferowanego stylu. Na przykład użyj prostej instrukcji "using" (IDE0063) ma skojarzoną opcję csharp_prefer_simple_using_statement, która umożliwia określenie, czy wolisz deklarację using, czy instrukcję using. Reguła wymusza wybrane opcje na określonym poziomie, na przykład ostrzeżenie lub błąd.
Opcje reguł języka można określić w pliku konfiguracji o następującym formacie:
option_name = value (Visual Studio 2019 i nowsze)
lub
option_name = value:severity
Wartość
Dla każdej reguły języka należy określić wartość, która określa, czy lub kiedy wolisz styl. Wiele reguł akceptuje wartość
true(preferuj ten styl) lubfalse(nie preferuj tego stylu). Inne reguły akceptują wartości, takie jakwhen_on_single_linelubnever.Ważność (opcjonalnie w programie Visual Studio 2019 i nowszych wersjach)
Druga część reguły określa poziom ważności reguły. W wersjach .NET 9 i nowszych ważność jest zawsze przestrzegana — czyli wewnątrz środowisk IDE programowania i podczas kompilacji wiersza polecenia. W programie .NET 8 i starszych wersjach to ustawienie ważności jest przestrzegane tylko w środowiskach IDE programowania, takich jak Visual Studio, a nie podczas kompilacji.
Jeśli używasz zestawu .NET 8 SDK lub starszej wersji i chcesz, aby poziom ważności był respektowany podczas budowania, możesz to zrobić na jeden z dwóch sposobów:
- Ustaw właściwość
<AnalysisLevel>lub<AnalysisLevelStyle>na9.0lub wyższą, albo napreview. - Ustaw poziom ważności, korzystając z składni konfiguracji opartej na identyfikatorze reguły dla analizatorów. Składnia przyjmuje postać
dotnet_diagnostic.<rule ID>.severity = <severity>, na przykładdotnet_diagnostic.IDE0040.severity = warning. Aby uzyskać więcej informacji, zobacz poziom istotności.
- Ustaw właściwość
Napiwek
Począwszy od programu Visual Studio 2019, można skonfigurować reguły stylu kodu z menu żarówki Szybkie akcje gdy naruszenie stylu zostanie wykryte.
Indeks reguł
Język i niepotrzebne reguły kodu są dodatkowo podzielone na podkategorie, takie jak preferencje na poziomie wyrażenia, preferencje bloku kodu i preferencje modyfikatora.
-
usingpreferencje dyrektywy - Preferencje bloku kodu
- Człony wyrażeniowe
- Preferencje na poziomie wyrażeń
- Preferencje pól
- Preferencje dotyczące słów kluczowych języka a typów struktur
- Preferencje modyfikatora
- Preferencje nowego wiersza
- Preferencje sprawdzania wartości null
- Preferencje parametrów
- Preferencje nawiasów
- Preferencje dopasowywania wzorców
- Preferencje pomijania
-
This.ime.preferencje -
varpreferencje
using preferencje dotyczące dyrektyw
Reguły stylu platformy .NET (C# i Visual Basic):
Reguły stylu języka C#:
Preferencje bloku kodu
Reguły stylu języka C#:
- Dodawanie nawiasów klamrowych (IDE0011)
- Użyj prostej instrukcji "using" (IDE0063)
- Preferencje deklaracji przestrzeni nazw (IDE0160, IDE0161)
- Usuwanie niepotrzebnego wyrażenia lambda (IDE0200)
- Przekształć na instrukcje najwyższego poziomu (IDE0210)
- Konwertuj na program stylu "Program.Main" (IDE0211)
- Używanie konstruktora podstawowego (IDE0290)
- Preferuj opcję "System.Threading.Lock" (IDE0330)
Członkowie zdefiniowane za pomocą wyrażeń
Reguły stylu języka C#:
- Używanie treści wyrażenia dla konstruktorów (IDE0021)
- Używanie treści wyrażenia dla metod (IDE0022)
- Używanie treści wyrażenia dla operatorów (IDE0023, IDE0024)
- Używanie treści wyrażenia dla właściwości (IDE0025)
- Używanie treści wyrażenia dla indeksatorów (IDE0026)
- Używanie treści wyrażenia dla metod dostępu (IDE0027)
- Używanie treści wyrażenia dla lambd (IDE0053)
- Używanie treści wyrażenia dla funkcji lokalnych (IDE0061)
Preferencje na poziomie wyrażeń
Reguły stylu platformy .NET (C# i Visual Basic):
- Uprość nazwę (IDE0001)
- Uproszczenie dostępu do składowych (IDE0002)
- Usuń niepotrzebne rzutowanie (IDE0004)
- Dodaj brakujące przypadki w instrukcji switch (IDE0010)
- Używanie inicjatorów obiektów (IDE0017)
- Używanie inicjatorów kolekcji (IDE0028)
- Sprawdzanie wartości null można uprościć (IDE0029, IDE0030, IDE0270)
- Używanie propagacji wartości null (IDE0031)
- Używanie automatycznie zaimplementowanej właściwości (IDE0032)
- Użyj jawnie podanej nazwy krotki (IDE0033)
- Usuwanie nieochwytnego kodu (IDE0035)
- Użyj wywnioskowanych nazw członków (IDE0037)
- Użyj sprawdzania "is null" (IDE0041)
- Używanie wyrażenia warunkowego do przypisania (IDE0045)
- Użyj wyrażenia warunkowego do zwracania (IDE0046)
- Konwersja typu anonimowego na krotkę (IDE0050)
- Usuń nieużywany prywatny członek (IDE0051)
- Usuń nieprzeczytany prywatny członek (IDE0052)
- Używanie przypisania złożonego (IDE0054, IDE0074)
- Usuń niepotrzebną wartość wyrażenia (IDE0058)
- Usuwanie niepotrzebnego przypisania wartości (IDE0059)
- Użyj 'System.HashCode.Combine' (IDE0070)
- Upraszczanie interpolacji (IDE0071)
- Uproszczenie wyrażenia warunkowego (IDE0075)
-
Konwertowanie
typeofnanameof(IDE0082) - Usuwanie niepotrzebnego operatora równości (IDE0100)
- Uproszczenie wyrażenia LINQ (IDE0120)
- Uproszczenie sprawdzania i rzutowanie typu LINQ (IDE0121)
- Przestrzeń nazw nie jest zgodna ze strukturą folderów (IDE0130)
Reguły stylu języka C#:
- Używanie wyrażenia throw (IDE0016)
- Deklaracja zmiennej wbudowanej (IDE0018)
- Uproszczenie wyrażenia "default" (IDE0034)
- Użyj funkcji lokalnej zamiast lambda (IDE0039)
- Dekonstrukcja zmiennej deklaracji (IDE0042)
- Używanie operatora indeksu (IDE0056)
- Użyj operatora zakresu (IDE0057)
- Dodaj brakujące przypadki do wyrażenia switch (IDE0072)
- Usuń niepotrzebny operator tłumienia (IDE0080)
-
Uproszczenie
newwyrażenia (IDE0090) - Usuń niepotrzebne odrzucenie (IDE0110)
- Preferuj sprawdzanie "null" zamiast sprawdzania typu (IDE0150)
- Użyj krotki, aby zamienić wartości (IDE0180)
- Dodaj jawny rzut w pętli foreach (IDE0220)
- Użyj literału ciągu UTF-8 (IDE0230)
- Dyrektywa nullable jest zbędna (IDE0240)
- Dyrektywa nullable jest niepotrzebna (IDE0241)
- Użyj wyrażenia kolekcji dla tablicy (IDE0300)
- Użyj wyrażenia kolekcji dla pustego (IDE0301)
- Użyj wyrażenia kolekcji do alokacji stosu (IDE0302)
-
Użyj wyrażenia kolekcji dla
Create()(IDE0303) - Używanie wyrażenia kolekcji dla konstruktora (IDE0304)
- Użyj wyrażenia kolekcji dla płynniejszego przepływu (IDE0305)
- Użyj wyrażenia kolekcji z new (IDE0306)
- Użyj typu ogólnego bez ruchu przychodzącego (IDE0340)
- Użyj niejawnie wpisanej lambdy (IDE0350)
- Upraszczanie dostępu do właściwości (IDE0360)
Reguły stylu języka Visual Basic:
-
Usuń
ByVal(IDE0081) -
Użyj dopasowywania wzorca (
IsNotoperator) (IDE0084) - Uproszczenie tworzenia obiektów (IDE0140)
Preferencje pól
Reguły stylu platformy .NET (C# i Visual Basic):
Preferencje dotyczące słów kluczowych języka a typów struktur
Reguły stylu platformy .NET (C# i Visual Basic):
Preferencje dotyczące modyfikatorów
Reguły stylu platformy .NET (C# i Visual Basic):
Reguły stylu języka C#:
- Utwórz statyczną funkcję lokalną (IDE0062)
- Tworzenie pól struktury zapisywalnych (IDE0064)
- Można dokonać struktury "readonly" (IDE0250)
- Element może być „tylko do odczytu” (IDE0251)
- Utwórz statyczną funkcję anonimową (IDE0320)
-
Usuwanie niepotrzebnego
unsafemodyfikatora (IDE0380)
Preferencje nowego wiersza
Reguły stylu platformy .NET (C# i Visual Basic):
- Unikaj wielu pustych wierszy (IDE2000)†
- Pusty wiersz wymagany między instrukcją block i kolejnym (IDE2003)†
Reguły stylu języka C#:
- Instrukcje osadzone muszą znajdować się we własnym wierszu (IDE2001)†
- Kolejne nawiasy klamrowe nie mogą mieć pustego wiersza między nimi (IDE2002)†
- Pusty wiersz jest niedozwolony po dwukropku inicjatora konstruktora (IDE2004)†
- Pusty wiersz jest niedozwolony po tokenie wyrażenia warunkowego (IDE2005)†
- Pusty wiersz jest niedozwolony po tokenie klauzuli wyrażenia strzałki (IDE2006)†
†To zasady są eksperymentalne i mogą ulec zmianie lub usunięciu.
Preferencje dotyczące sprawdzania wartości null
Reguły stylu języka C#:
Preferencje dotyczące parametrów
Reguły stylu platformy .NET (C# i Visual Basic):
Preferencje dotyczące nawiasów
Reguły stylu platformy .NET (C# i Visual Basic):
Preferencje dotyczące dopasowywania wzorców
Reguły stylu języka C#:
- Użyj dopasowania wzorca, aby uniknąć sprawdzania wartości "as", a następnie sprawdzania wartości null (IDE0019)
- Użyj sprawdzania zgodności wzorca, aby uniknąć sprawdzania "is", po którym następuje rzutowanie (IDE0020, IDE0038)
- Użyj wyrażenia switch (IDE0066)
- Używanie dopasowania wzorca (IDE0078 i IDE0260)
-
Używanie dopasowywania wzorca (
notoperator) (IDE0083) - Upraszczanie wzorca właściwości (IDE0170)
Preferencje tłumienia
Reguły stylu platformy .NET (C# i Visual Basic):
Reguły stylu języka C#:
This. i me. preferencje
Reguły stylu platformy .NET (C# i Visual Basic):
var preferencje
Reguły stylu języka C#: