powered by simpleCommunicator - 2.0.38     © 2025 Programmizd 02
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / Нужно ли private переменные начинать с нижнего подчеркивания?
25 сообщений из 78, страница 1 из 4
Нужно ли private переменные начинать с нижнего подчеркивания?
    #39979330
listtoview
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
например здесь:

Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
public class BookService
    {
        private readonly IBookRepository bookRepository;

        public BookService(IBookRepository bookRepository)
        {
            this.bookRepository = bookRepository;
        }

        public Book[] GetAllByQuery(string query)
        {
            if (IsIsbn(query))
                return bookRepository.GetAllByIsbn(query);

            return bookRepository.GetAllByTitleOrAuthor(query);
        }
    }
...
Рейтинг: 0 / 0
Нужно ли private переменные начинать с нижнего подчеркивания?
    #39979394
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Что такое private переменные?

Есть локальные переменные.
Есть приватные поля.

Имена приватных полей принято начинать с подчеркивания в большинстве кодестайлов
...
Рейтинг: 0 / 0
Нужно ли private переменные начинать с нижнего подчеркивания?
    #39979433
Дмитрий Мух
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
listtoview,

нужно пойти и обсудить у себя в команде то, каких правил вы будете придерживаться
...
Рейтинг: 0 / 0
Нужно ли private переменные начинать с нижнего подчеркивания?
    #39979447
listtoview
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Shocker.Pro
Что такое private переменные?

Есть локальные переменные.
Есть приватные поля.

Имена приватных полей принято начинать с подчеркивания в большинстве кодестайлов

поля конечно
...
Рейтинг: 0 / 0
Нужно ли private переменные начинать с нижнего подчеркивания?
    #39979486
fkthat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
По умолчанию рекомендуется подчеркивать, но это вопрос code style принятого в проекте. Правила оформления кода можно задать в .editorconfig, положить в папку с проектом и тогда они у всех будут одинаковые (студия будет предупреждать об их нарушении). Анализатор правил для этого, который можно встроить в CI-сборку у МС пока что в бетте (есть Stylecop, но он несколько легаси, т.к. использует свои настройки в файлах *.rules).

Лично я за "верблюжатину" с подчеркиванием для полей, чтобы различать локальные переменные и поля - уже несколько раз натыкался в коде на баги, когда люди вместо того чтобы присвоить значение полю по ошибке присваивали переменную саму себе - компилятор выдает об этом предупреждение, но кругом ведь "Настоящие Программисты", которые на такую ерунду как предупреждения компилятора вообще не смотрят :)
...
Рейтинг: 0 / 0
Нужно ли private переменные начинать с нижнего подчеркивания?
    #39979498
listtoview
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
fkthat
По умолчанию рекомендуется подчеркивать, но это вопрос code style принятого в проекте. Правила оформления кода можно задать в .editorconfig, положить в папку с проектом и тогда они у всех будут одинаковые (студия будет предупреждать об их нарушении). Анализатор правил для этого, который можно встроить в CI-сборку у МС пока что в бетте (есть Stylecop, но он несколько легаси, т.к. использует свои настройки в файлах *.rules).

Лично я за "верблюжатину" с подчеркиванием для полей, чтобы различать локальные переменные и поля - уже несколько раз натыкался в коде на баги, когда люди вместо того чтобы присвоить значение полю по ошибке присваивали переменную саму себе - компилятор выдает об этом предупреждение, но кругом ведь "Настоящие Программисты", которые на такую ерунду как предупреждения компилятора вообще не смотрят :)

Понял, спасибо за развернутый ответ.

ЗЫ
Буду признателен если проконсультируете как виндовс аутентификацию к интернет сайту прикрутить в соседней теме
...
Рейтинг: 0 / 0
Нужно ли private переменные начинать с нижнего подчеркивания?
    #39979651
17-77
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
listtoview,

еще надо научиться писать
Код: c#
1.
if (IsIsbn(...) == false)


вместо
Код: c#
1.
if (!IsIsbn(...))



или даже вместо
Код: c#
1.
if (!isIsbn(...))



- тогда вообще ляпота будет
...
Рейтинг: 0 / 0
Нужно ли private переменные начинать с нижнего подчеркивания?
    #39979658
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
17-77
еще надо
это кому надо?
...
Рейтинг: 0 / 0
Нужно ли private переменные начинать с нижнего подчеркивания?
    #39979708
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Shocker.Pro
17-77
еще надо
это кому надо?

Это видимо шутка на тему :)
...
Рейтинг: 0 / 0
Нужно ли private переменные начинать с нижнего подчеркивания?
    #39979709
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
fkthat
По умолчанию рекомендуется подчёркивать...

Где?

В документации от Microsoft чёрным по белому написано, что особых рекомендаций по наименованию private полей нет.
...
Рейтинг: 0 / 0
Нужно ли private переменные начинать с нижнего подчеркивания?
    #39979738
fkthat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
skyANA
Где?

По умолчанию в настройках VS.


...
Рейтинг: 0 / 0
Нужно ли private переменные начинать с нижнего подчеркивания?
    #39979741
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
skyANA
В документации от Microsoft чёрным по белому написано, что особых рекомендаций по наименованию private полей нет.
а какие особые рекомендации у них есть?
...
Рейтинг: 0 / 0
Нужно ли private переменные начинать с нижнего подчеркивания?
    #39979744
fkthat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Shocker.Pro
skyANA
В документации от Microsoft чёрным по белому написано, что особых рекомендаций по наименованию private полей нет.
а какие особые рекомендации у них есть?

Нет, как раз насчет приватных полей нету.

https://docs.microsoft.com/en-us/dotnet/standard/design-guidelines/names-of-type-members#names-of-fields
авторInternal and private fields are not covered by guidelines
...
Рейтинг: 0 / 0
Нужно ли private переменные начинать с нижнего подчеркивания?
    #39979751
Дмитрий Мух
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Shocker.Pro
skyANA
В документации от Microsoft чёрным по белому написано, что особых рекомендаций по наименованию private полей нет.
а какие особые рекомендации у них есть?

Ссылку уже привели: https://docs.microsoft.com/en-us/dotnet/standard/design-guidelines/
...
Рейтинг: 0 / 0
Нужно ли private переменные начинать с нижнего подчеркивания?
    #39979758
listtoview
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
17-77
listtoview,

еще надо научиться писать
Код: c#
1.
if (IsIsbn(...) == false)


вместо
Код: c#
1.
if (!IsIsbn(...))



или даже вместо
Код: c#
1.
if (!isIsbn(...))



- тогда вообще ляпота будет

зачем?
...
Рейтинг: 0 / 0
Нужно ли private переменные начинать с нижнего подчеркивания?
    #39979761
Дмитрий Мух
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
listtoview
17-77
listtoview,

еще надо научиться писать
Код: c#
1.
if (IsIsbn(...) == false)



вместо
Код: c#
1.
if (!IsIsbn(...))




или даже вместо
Код: c#
1.
if (!isIsbn(...))




- тогда вообще ляпота будет

зачем?

Да шутка это :)

Зачем вам названия private полей начинать с нижнего подчёркивания?
...
Рейтинг: 0 / 0
Нужно ли private переменные начинать с нижнего подчеркивания?
    #39979763
listtoview
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Дмитрий Мух
listtoview
пропущено...

зачем?

Да шутка это :)

Зачем вам названия private полей начинать с нижнего подчёркивания?

что бы от public отличать и от параметров в методах
...
Рейтинг: 0 / 0
Нужно ли private переменные начинать с нижнего подчеркивания?
    #39979765
Дмитрий Мух
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
listtoview
Дмитрий Мух
пропущено...

Да шутка это :)

Зачем вам названия private полей начинать с нижнего подчёркивания?

что бы от public отличать и от параметров в методах

и в чём проблема их отличать?

public - это PascalCase, private - camelCase
и параметров в методах с таким же названием как и поля класса у вас нет в примере

неужели в конструктор передаётся один bookRepository, а где-то в метод другой?
...
Рейтинг: 0 / 0
Нужно ли private переменные начинать с нижнего подчеркивания?
    #39979767
Дмитрий Мух
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
listtoview,

и делать поля класса public-ами - это моветон
...
Рейтинг: 0 / 0
Нужно ли private переменные начинать с нижнего подчеркивания?
    #39979776
listtoview
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Дмитрий Мух
listtoview
пропущено...

что бы от public отличать и от параметров в методах

и в чём проблема их отличать?

public - это PascalCase, private - camelCase
и параметров в методах с таким же названием как и поля класса у вас нет в примере

неужели в конструктор передаётся один bookRepository, а где-то в метод другой?



Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
private string _name;
private int _sex;
public order;

public Name
{
  get
  {
      return this._name;
  }
}

public void SetSex(int sex)
{
   this._sex = sex;
}
...
Рейтинг: 0 / 0
Нужно ли private переменные начинать с нижнего подчеркивания?
    #39979779
Дмитрий Мух
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
listtoview
Дмитрий Мух
пропущено...

и в чём проблема их отличать?

public - это PascalCase, private - camelCase
и параметров в методах с таким же названием как и поля класса у вас нет в примере

неужели в конструктор передаётся один bookRepository, а где-то в метод другой?



Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
private _name
public order;

public Name
{
  get
  {
      return this._name;
  }
}


Код: c#
1.
2.
3.
4.
private string name
public int Order;

public string Name => name;
...
Рейтинг: 0 / 0
Нужно ли private переменные начинать с нижнего подчеркивания?
    #39979780
listtoview
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Дмитрий Мух
listtoview
пропущено...



Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
private _name
public order;

public Name
{
  get
  {
      return this._name;
  }
}


Код: c#
1.
2.
3.
4.
private string name
public int Order;

public string Name => name;


а если 4.5? :)
...
Рейтинг: 0 / 0
Нужно ли private переменные начинать с нижнего подчеркивания?
    #39979783
listtoview
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Дмитрий Мух,

обратите внимание там _sex добавил
что бы метод показать
...
Рейтинг: 0 / 0
Нужно ли private переменные начинать с нижнего подчеркивания?
    #39979784
fkthat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Дмитрий Мух
listtoview,

и делать поля класса public-ами - это моветон


Если оно static readonly, то вполне можно.
...
Рейтинг: 0 / 0
Нужно ли private переменные начинать с нижнего подчеркивания?
    #39979786
Дмитрий Мух
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
listtoview
Дмитрий Мух
пропущено...

Код: c#
1.
2.
3.
4.
private string name
public int Order;

public string Name => name;



а если 4.5? :)

У тебя точно 10+ лет опыта в C#?
...
Рейтинг: 0 / 0
25 сообщений из 78, страница 1 из 4
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / Нужно ли private переменные начинать с нижнего подчеркивания?
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]