Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / WinForms, .Net Framework Новый топик    Ответить
Топик располагается на нескольких страницах: Ctrl  назад   1 2 3 4 [5] 6 7 8 9 10 .. 14   вперед  Ctrl
 Re: Автосвойства  [new]
listtoview
Member

Откуда:
Сообщений: 1522
Petro123
listtoview,
)))) провокатор

опыт ПТ :)

ну вообщем вот резюме
https://www.sql.ru/forum/actualutils.aspx?action=gotomsg&tid=1310126&msg=21832288

кароч автоствойство зло
а приватные сеттеры ничем не лучше приватных полей
даж хуже, ибо начинают проставлять свойствами состояние класса
14 мар 19, 12:02    [21832297]     Ответить | Цитировать Сообщить модератору
 Re: Автосвойства  [new]
listtoview
Member

Откуда:
Сообщений: 1522
Petro123
listtoview,
Там где дурак, не было virtual)))

да ничего бы не изменилось :)
как буд то тогда в конструкторе не надо this писать
14 мар 19, 12:03    [21832302]     Ответить | Цитировать Сообщить модератору
 Re: Автосвойства  [new]
Shocker.Pro
Member

Откуда: ->|<- :адуктО
Сообщений: 19958
listtoview
как буд то тогда в конструкторе не надо this писать
действительно не надо


listtoview
кароч автоствойство зло
а приватные сеттеры ничем не лучше приватных полей
даж хуже, ибо начинают проставлять свойствами состояние класса
ты споришь сам с собой, зачем тебе форум
14 мар 19, 12:05    [21832306]     Ответить | Цитировать Сообщить модератору
 Re: Автосвойства  [new]
listtoview
Member

Откуда:
Сообщений: 1522
кароч автосвойства зло
приватные сеттеры зло

резюме

внутри класса всегда оперируем полями
внутри класса всегда указываем явно this, base
свойства юзаем только для клиентского кода
приватные поля начинаем с подчеркивания

просто и понятно
и согласно документации
14 мар 19, 12:06    [21832308]     Ответить | Цитировать Сообщить модератору
 Re: Автосвойства  [new]
listtoview
Member

Откуда:
Сообщений: 1522
Shocker.Pro
listtoview
как буд то тогда в конструкторе не надо this писать
действительно не надо


listtoview
кароч автоствойство зло
а приватные сеттеры ничем не лучше приватных полей
даж хуже, ибо начинают проставлять свойствами состояние класса
ты споришь сам с собой, зачем тебе форум

вопрос в том лучше писать или лучше не писать this
я привел аргументы что лучше писать

работать будет и так и так
работать будет вообще без свойств
а вот без полей, нет :))
14 мар 19, 12:07    [21832312]     Ответить | Цитировать Сообщить модератору
 Re: Автосвойства  [new]
listtoview
Member

Откуда:
Сообщений: 1522
просто аргумент, что так кода меньше, ну эт не серьезно
14 мар 19, 12:08    [21832314]     Ответить | Цитировать Сообщить модератору
 Re: Автосвойства  [new]
listtoview
Member

Откуда:
Сообщений: 1522
ну ладно парни, нездоровая тема начинается
я ушел
14 мар 19, 12:09    [21832317]     Ответить | Цитировать Сообщить модератору
 Re: Автосвойства  [new]
Petro123
Member

Откуда: Загрузочный сектор Москвы (AutoPOI.ru)
Сообщений: 37070
listtoview
кароч автосвойства зло
приватные сеттеры зло

резюме

внутри класса всегда оперируем полями
внутри класса всегда указываем явно this, base
свойства юзаем только для клиентского кода
приватные поля начинаем с подчеркивания

просто и понятно
и согласно документации
максимализм - зло.
Программирование это искусство (с)
14 мар 19, 12:12    [21832326]     Ответить | Цитировать Сообщить модератору
 Re: Автосвойства  [new]
skyANA
Member

Откуда: Зеленоград
Сообщений: 26198
listtoview
skyANA
пропущено...

Да любой, кто знает про private set.
        public class Employee
        {
            public string Name { get; private set; }

            public Employee(string name)
            {
                this.Name = name;
            }
        }


согласен, но на практике модификатор доступа у сета может смениться
а приватное поле практически никогда
если оно должно стать открытым, нужно писать свойство

На практике смена модификатора доступа обусловлена определённой логикой.
По этому и делают свойства, чтобы не нарушить инкапсуляцию.
14 мар 19, 12:14    [21832330]     Ответить | Цитировать Сообщить модератору
 Re: Автосвойства  [new]
skyANA
Member

Откуда: Зеленоград
Сообщений: 26198
listtoview
кароч автосвойства зло
приватные сеттеры зло

...

просто и понятно
и согласно документации
В документации есть и Auto-Implemented Properties (C# Programming Guide)

Почитай что-ли внимательно.
14 мар 19, 12:17    [21832337]     Ответить | Цитировать Сообщить модератору
 Re: Автосвойства  [new]
listtoview
Member

Откуда:
Сообщений: 1522
skyANA
listtoview
пропущено...

согласен, но на практике модификатор доступа у сета может смениться
а приватное поле практически никогда
если оно должно стать открытым, нужно писать свойство

На практике смена модификатора доступа обусловлена определённой логикой.
По этому и делают свойства, чтобы не нарушить инкапсуляцию.

вы меня переубедили
расходимся
14 мар 19, 12:21    [21832346]     Ответить | Цитировать Сообщить модератору
 Re: Автосвойства  [new]
PinkCat
Member

Откуда:
Сообщений: 2320
skyANA,

Плохо. Принято так:
-----
Это у кого как. У меня определение типа(класса) начинается с "Т" и следующая за "Т" - заглавная.
Для классов формы - суффикс "Form" - mast have.

public partial class TDetailDialogForm : Form { ... }


И "Dialog" - всегда модальная форма.
14 мар 19, 12:28    [21832366]     Ответить | Цитировать Сообщить модератору
 Re: Автосвойства  [new]
PinkCat
Member

Откуда:
Сообщений: 2320
listtoview,

public PaymentOrder PaymentOrder { get; set; }

Compare to
public [b]TPaymentOrder[/b] PaymentOrder { get; set; }

Все же чуточку удобнее/понятнее. На четверть секунды но быстрее анализируется.
14 мар 19, 12:31    [21832370]     Ответить | Цитировать Сообщить модератору
 Re: Автосвойства  [new]
Petro123
Member

Откуда: Загрузочный сектор Москвы (AutoPOI.ru)
Сообщений: 37070
PinkCat
У меня определение типа(класса) начинается с "Т"
из delphi пришли?
Имя файла с классом тоже на T?
14 мар 19, 12:36    [21832377]     Ответить | Цитировать Сообщить модератору
 Re: Автосвойства  [new]
Shocker.Pro
Member

Откуда: ->|<- :адуктО
Сообщений: 19958
PinkCat
Это у кого как. У меня определение типа(класса) начинается с "Т" и следующая за "Т" - заглавная.
А ничего, что в шарпе так принято объявлять параметры типа? Не мешает?
14 мар 19, 12:45    [21832388]     Ответить | Цитировать Сообщить модератору
 Re: Автосвойства  [new]
PinkCat
Member

Откуда:
Сообщений: 2320
Petro123,

из delphi пришли?
-----
Из Turbo C.
Долго спорили с начальником нужно ли сохранять МФЦ-нотацию от мелкомягких или следовать венгерской, но остановились на Борландовской.
Просто удобнее.


Имя файла с классом тоже на T?
-----
Имя файла с классом совпадает с именем класса.
Т.е. есть на "Т", есть на "Е", есть на "S".
14 мар 19, 13:18    [21832444]     Ответить | Цитировать Сообщить модератору
 Re: Автосвойства  [new]
PinkCat
Member

Откуда:
Сообщений: 2320
listtoview,

приватные поля начинаем с подчеркивания
-----
А зачем?
Просто проперти будут с заглавной, а поля - маленькой.
Все, поделили - понятно что именно используется с полувзгляда.
Если не надо совмещать с, например через CodeDom, то подчеркивания только загромождают код.
14 мар 19, 13:25    [21832451]     Ответить | Цитировать Сообщить модератору
 Re: Автосвойства  [new]
Petro123
Member

Откуда: Загрузочный сектор Москвы (AutoPOI.ru)
Сообщений: 37070
PinkCat,
Ок.
Не увольняться же из за нотации)))) LOL
14 мар 19, 13:25    [21832452]     Ответить | Цитировать Сообщить модератору
 Re: Автосвойства  [new]
PinkCat
Member

Откуда:
Сообщений: 2320
listtoview,

аргумент, что так кода меньше, ну эт не серьезно
-----
Это очень серьезный аргумент.
На моих объемах это разница между 3 и 5 годами кодинга.
14 мар 19, 13:26    [21832454]     Ответить | Цитировать Сообщить модератору
 Re: Автосвойства  [new]
PinkCat
Member

Откуда:
Сообщений: 2320
Shocker.Pro,

Не мешает?
-----
Удивишься - продолжает помогать.

А когда имя какого-то класса написано без "Т" - всегда где-нибудь возникает путаница - то ли тип передали, то ли проперть, то ли вообще поле.
14 мар 19, 13:29    [21832462]     Ответить | Цитировать Сообщить модератору
 Re: Автосвойства  [new]
PinkCat
Member

Откуда:
Сообщений: 2320
Petro123,

Не увольняться же из за нотации
-----
Нет конечно, но единую полиси на компанию надо написать...
Народ приходил разный - кто по-тупее - тому без "Т" много сложнее, а тем кто по-умнее тоже не в кайф разбираться в том что там слепили... особенно при путанице в типах...
14 мар 19, 13:34    [21832473]     Ответить | Цитировать Сообщить модератору
 Re: Автосвойства  [new]
Petro123
Member

Откуда: Загрузочный сектор Москвы (AutoPOI.ru)
Сообщений: 37070
PinkCat
Shocker.Pro,

Не мешает?
-----
Удивишься - продолжает помогать.

А когда имя какого-то класса написано без "Т" - всегда где-нибудь возникает путаница - то ли тип передали, то ли проперть, то ли вообще поле.
у меня один раз встретился код, где имя класса было с маленькой
var my = new my();
....
my.Proc();
Это или класс или экземпляр?
))))
14 мар 19, 13:35    [21832476]     Ответить | Цитировать Сообщить модератору
 Re: Автосвойства  [new]
Shocker.Pro
Member

Откуда: ->|<- :адуктО
Сообщений: 19958
PinkCat
А когда имя какого-то класса написано без "Т" - всегда где-нибудь возникает путаница - то ли тип передали, то ли проперть, то ли вообще поле.
Ох, а мужики и не знали, что путаются постоянно. Ты нам глаза раскрыл, теперь путаться не будем и все классы переназовем.

А все-таки
private List<TFoo> _myList;
TFoo - это что? Класс или параметр типа? Тут ведь не запутаешься
14 мар 19, 13:36    [21832480]     Ответить | Цитировать Сообщить модератору
 Re: Автосвойства  [new]
Shocker.Pro
Member

Откуда: ->|<- :адуктО
Сообщений: 19958
PinkCat
Народ приходил разный - кто по-тупее - тому без "Т" много сложнее, а тем кто по-умнее тоже не в кайф разбираться в том что там слепили... особенно при путанице в типах...
А структуры, наверное, начинаете с заглавной "I" Картинка с другого сайта. Ну чтоб не путаться
14 мар 19, 13:38    [21832485]     Ответить | Цитировать Сообщить модератору
 Re: Автосвойства  [new]
Petro123
Member

Откуда: Загрузочный сектор Москвы (AutoPOI.ru)
Сообщений: 37070
Shocker.Pro,

I это интерфейсы)
14 мар 19, 13:46    [21832510]     Ответить | Цитировать Сообщить модератору
Топик располагается на нескольких страницах: Ctrl  назад   1 2 3 4 [5] 6 7 8 9 10 .. 14   вперед  Ctrl
Все форумы / WinForms, .Net Framework Ответить