Ескертпе
Бұл бетке кіру үшін қатынас шегін айқындау қажет. Жүйеге кіруді немесе каталогтарды өзгертуді байқап көруге болады.
Бұл бетке кіру үшін қатынас шегін айқындау қажет. Каталогтарды өзгертуді байқап көруге болады.
| Свойство | Значение |
|---|---|
| Идентификатор правила | CA1707 |
| Заголовок | Идентификаторы не должны содержать символы подчеркивания |
| Категория | Именование |
| Исправление является критическим или не критическим | Критическое — при срабатывании в сборках Не критическое — при срабатывании в параметрах типа |
| Включен по умолчанию в .NET 10 | No |
Причина
Имя идентификатора содержит символ подчеркивания (_).
Описание правила
В соответствии с соглашением имена идентификаторов не могут содержать знак подчеркивания (_). Это правило позволяет проверить пространства имен, типы, элементы и параметры.
Соглашения об именовании обеспечивают единство вида библиотек, предназначенных для среды CLR. Это сокращает время, необходимое для изучения новых библиотек программного обеспечения, и позволяет клиентам увериться в том, что разработчик библиотеки имеет опыт разработки управляемого кода.
Устранение нарушений
Удалите все символы подчеркивания из имени.
Example
// This code violates the rule.
namespace ca_1707
{
public interface IUser_Service
{
void Add_User(User_Model user_Model);
}
public class User_Service : IUser_Service
{
public const string Admin_Name = "admin";
public event EventHandler? User_Added;
public void Add_User(User_Model user_Model)
{
// ...
}
}
public struct User_Model
{
public int User_Id { get; set; }
}
public enum User_Type
{
Client_User = 0,
Manager_Admin = 1,
Syper_Admin = 3,
}
}
Когда лучше отключить предупреждения
Не отключайте предупреждения для рабочего кода. Однако можно спокойно отключить это предупреждение для тестового кода.
Отключение предупреждений
Если вы просто хотите отключить одно нарушение, добавьте директивы препроцессора в исходный файл, чтобы отключить и повторно включить правило.
#pragma warning disable CA1707
// The code that's violating the rule is on this line.
#pragma warning restore CA1707
Чтобы отключить правило для файла, папки или проекта, задайте его серьезность none в файле конфигурации.
[*.{cs,vb}]
dotnet_diagnostic.CA1707.severity = none
Дополнительные сведения см. в разделе Практическое руководство. Скрытие предупреждений анализа кода.
Для хорошо известных методов в коде Майкрософт, которые в настоящее время используют символ подчеркивания и не могут быть изменены, правило также необходимо отменить.
Настройка кода для анализа
Используйте следующий параметр, чтобы выбрать части базы кода для применения этого правила.
Этот параметр можно настроить только для этого правила, для всех правил, к которым он применяется, или для всех правил в этой категории (именование), к которым она применяется. Дополнительные сведения см. в статье Параметры конфигурации правила качества кода.
Включение определенных контактных зон API
Вы можете настроить компоненты базы кода для выполнения этого правила на основе их специальных возможностей, задав параметр api_surface. Например, чтобы указать, что правило должно выполняться только для закрытой контактной зоны API, добавьте следующую пару "ключ-значение" в файл EDITORCONFIG в своем проекте:
dotnet_code_quality.CAXXXX.api_surface = private, internal
Заметка
Замените XXXX частью CAXXXX идентификатором применимого правила.