StyleRulesExtension 1.0.4

dotnet add package StyleRulesExtension --version 1.0.4
                    
NuGet\Install-Package StyleRulesExtension -Version 1.0.4
                    
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="StyleRulesExtension" Version="1.0.4">
  <PrivateAssets>all</PrivateAssets>
  <IncludeAssets>runtime; build; native; contentfiles; analyzers</IncludeAssets>
</PackageReference>
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="StyleRulesExtension" Version="1.0.4" />
                    
Directory.Packages.props
<PackageReference Include="StyleRulesExtension">
  <PrivateAssets>all</PrivateAssets>
  <IncludeAssets>runtime; build; native; contentfiles; analyzers</IncludeAssets>
</PackageReference>
                    
Project file
For projects that support Central Package Management (CPM), copy this XML node into the solution Directory.Packages.props file to version the package.
paket add StyleRulesExtension --version 1.0.4
                    
#r "nuget: StyleRulesExtension, 1.0.4"
                    
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
#:package StyleRulesExtension@1.0.4
                    
#:package directive can be used in C# file-based apps starting in .NET 10 preview 4. Copy this into a .cs file before any lines of code to reference the package.
#addin nuget:?package=StyleRulesExtension&version=1.0.4
                    
Install as a Cake Addin
#tool nuget:?package=StyleRulesExtension&version=1.0.4
                    
Install as a Cake Tool

Расширение списока правил к именованию и написанию кода

Содержит список простых правил и их исправлений для C# кода:

  • именование классов в PascalCase
  • именование свойств в PascalCase
  • именование методов в PascalCase
  • именование констант в CapitalCase
  • именование приватных полей в CamelCase c _ в начале имени
  • асинхронные методы должны заканчиваться на Async. За исключением публичных методов в контроллерах
  • удаление необязательных скобочек для if
  • Проверка, что имена содержат только английские буквы, цифры и _

Именование классов в PascalCase

Уровень реагирования по умолчанию: warning

Отключение в .editconfig:

dotnet_diagnostic.class_naming.severity = none

Пример:

//Находит
class camelCase
{
    public camelCase() {}
    //...
}

//Переименовывет в
class CamelCase
{
    public CamelCase() {}
    //...
}

Именование свойств в PascalCase

Уровень реагирования по умолчанию: warning

Отключение в .editconfig:

dotnet_diagnostic.property_naming.severity = none

Пример:

//Находит
public int MyProperty() { get; set; }
public int my_property2() { get; set; }

//Переименовывет в
public int myProperty() { get; set; }
public int myProperty2() { get; set; }

Именование методов в PascalCase

Уровень реагирования по умолчанию: warning

Отключение в .editconfig:

dotnet_diagnostic.method_naming.severity = none

Пример:

//Находит
public void voidMethod()
{
    //...
}

public int get_int()
{
    //...
}

//Переименовывет в
public void VoidMethod()
{
    //...
}

public int GetInt()
{
    //...
}

Что не делает

  • Не переименовывает методы, которые содержат слово override

Именование констант в CapitalCase

Уровень реагирования по умолчанию: warning

Отключение в .editconfig:

dotnet_diagnostic.constant_capital_case_naming.severity = none

Пример:

//Находит
public const int class_constant = 1;

public void Method()
{
    const int local_constant = 2;
    //...
}

//Переименовывет в
public const int CLASS_CONSTANT = 1;

public void Method()
{
    const int LOCAL_CONSTANT = 2;
    //...
}

Именование приватных полей

Уровень реагирования по умолчанию: warning

Отключение в .editconfig:

dotnet_diagnostic.private_field_naming.severity = none

Пример:

//Находит
private int Field = 1;

//Переименовывет в
private int _field = 1;

Именование асинхронных методов - должны заканчиваться на Async

Уровень реагирования по умолчанию: warning

Отключение в .editconfig:

dotnet_diagnostic.method_ends_async.severity = none

Пример:

//Находит
public Task Method()
{
    //...
}

public Task<int> GetInt()
{
    //...
}

//Переименовывет в
public Task MethodAsync()
{
    //...
}

public Task<int> GetIntAsync()
{
    //...
}

Что не делает

  • Не переименовывает публичные методы в классах, заканчивающихся на Controller
  • Не переименовывает методы, которые содержат слово override

Удаление необязательных скобочек для if

Уровень реагирования по умолчанию: warning

Отключение в .editconfig:

dotnet_diagnostic.unnecssary_if_braces.severity = none

Пример:

//Находит
var someBool = true;
var variable = 1;

if (someBool)
{
    variable = 2;
}
else
{
    variable = 3;
}

//Переименовывет в
var someBool = true;
var variable = 1;

if (someBool)
    variable = 2;
else
    variable = 3;

Что не делает

Не удаляет скобочки в теле if-else, если в теле находится другой одинокий if без else

var someBool = true;
var variable = 1;

if (someBool)
{
    if (variable == 2) variable = 3;
}
else
    variable = 4;

Не находит когда тело большое

var someBool = true;
var variable = 1;

if (someBool)
{
    variable = 2;
    someBool = false;
}

Не находит когда if содержит большое условие

var someBool = true;
var variable = 1;

if (someBool &&
    variable != 2)
{
    variable = 2;
}

Не находит когда if содержит одно выражение на несколько строк

var someBool = true;
var variable = 1;

if (someBool)
{
    variable = variable == 2
        ? 3
        : 4;
}

Проверка, что имена содержат только английские буквы, цифры и _

Уровень реагирования по умолчанию: error

Отключение в .editconfig:

dotnet_diagnostic.right_naming.severity = none

Пример:

//Будет выдавать ошибки на все именования
public class ИмяКласса
{
    public const int КОНСТАНТА = 1;

    public int _поле_ = 2;

    public int Свойство { get; set; } = 3;

    public void Метод()
    {
        var локальнаяПеременная = 4;

        //...
    }
}
There are no supported framework assets in this package.

Learn more about Target Frameworks and .NET Standard.

This package has no dependencies.

NuGet packages

This package is not used by any NuGet packages.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last Updated
1.0.4 132 2/8/2026
1.0.3 446 12/8/2025
1.0.2.1 269 11/30/2025
1.0.2 128 11/29/2025

Summary of changes made in this release of the package.