Правила наименования
1. CamelCase (с маленькой буквы, верблюжья)
Первая буква маленькая, каждое следующее слово начинается с большой.
csharp
string userName; int ageOfPerson; double totalPrice;
Когда использовать:
-
локальные переменные (внутри метода)
-
параметры методов
public void PrintMessage(string userInput)
{
int itemCount = 10;
// userInput и itemCount — camelCase
}
2. PascalCase (с большой буквы)
Каждое слово начинается с большой буквы.
class MyClass
{
public string FullName;
public int GetAge() { return 0; }
}
Когда использовать (почти всё остальное):
-
названия классов (
MyClass,UserService,Program) -
названия методов (
GetData(),CalculateSum(),SaveToFile()) -
публичные поля и свойства (
UserName,TotalCount,IsActive) -
константы (но иногда их пишут капсом, об этом ниже)
public class UserProfile
{
public string NickName { get; set; } // PascalCase
public int GetUserAge() { return 0; } // PascalCase
}
3. Имя с нижним подчёркиванием _имя
Начинается с подчёркивания + camelCase.
private string _userName;
private int _age;
private List<string> _items;
Когда использовать:
- приватные поля классов (это НЕ официальное правило Microsoft, но очень популярное соглашение в сообществе C#)
public class User
{
private string _name;
private int _score;
public string GetName()
{
return _name;
}
}
Зачем нужно подчёркивание:
-
сразу видно — это внутреннее поле класса, не публичное свойство
-
не путать с локальными переменными в методах
-
избегать конфликта с параметрами
public void SetName(string name) // параметр name
{
_name = name; // поле _name — легко отличить
}
иначе бы пришлось делать так
public void SetName(string name)
{
this.name = name;
}
Короткая шпаргалка
| Что именуем | Стиль | Пример |
|---|---|---|
| Классы | PascalCase | MyClass, UserService |
| Методы | PascalCase | GetData(), SaveUser() |
| Публичные свойства/поля | PascalCase | UserName, Age |
| Приватные поля | _camelCase | _userName, _age |
| Локальные переменные | camelCase | userName, age |
| Параметры методов | camelCase | string input, int count |
| Константы | PascalCase (иногда UPPER_CASE) | MaxCount, Pi |
Запоминалка для тебя
Классы, методы, свойства публичные — с большой (
PascalCase)Переменные внутри методов, параметры — с маленькой (
camelCase)Приватные поля класса — с подчёркивания и маленькой (
_camelCase)
Весь пример в одном месте
public class User // класс — PascalCase
{
private string _name; // приватное поле — _camelCase
private int _age;
public string Name // публичное свойство — PascalCase
{
get { return _name; }
}
public void SetData(string name, int age) // метод — PascalCase
{ // параметры — camelCase
_name = name;
_age = age;
string localMessage = "OK"; // локальная переменная — camelCase
Console.WriteLine(localMessage);
}
}
Всё просто. Глаз быстро привыкает, и ты начнёшь замечать, кто нарушает эти правила ))