Класс - это класс, тип - это тип
А класс это не тип?
"Это другое" © 😁
И только кролик - это не только ценных мех, но и три… 😁
Вить, формально Михаил прав. Но это превращает код в вм нечто непотребное. Зы. А тут ещё кто-то ругался на with 😁
я не вижу противоречий в возможности добавлять методы к энамам, либо другим типам тем более, как уже выше заметили, это сейчас решается с помощью хелперов
а with как раз таки ухудшает читаемость, пряча контекст
Дело вкуса и привычки. Мне вот анонимки претят. Код совершённо неочевидный
не вкуса. когда ты смотришь на код с with - ты не всегда можешь однозначно сказать, к какой именно сущности относится тот или иной элемент
И что самое печальное, иногда можно обратиться совсем не туда, куда хотел.
тем не менее в том же VCL with почти в каждом методе используется в Forms
За with нужно бить и больно. Помимо неоднозначности кода ещё и сложности при отладке
Если их писать на 5 экранов и с плохим форматирование и - да. А по мне это прямо спасение, позволяет логику написать не размазывая по всему файлу
надо сделать скидку на возраст VCL
Если использовать бездумно, то конечно, получится как в пословице про дурака и стеклянный дилдо🤷♂
за 27 версий можно было бы и переписать :) но видимо это считают вполне допустимым
это бездумный код? сходу, чему будет равен LRect.Width?
а еще можно было исправить падения IDE, сделать неглючный LSP и много еще чего можно было. но это не путь самурая 🙂
with cbSomeone do begin Items.Clear; Items.Add('....'); ItemIndex:= 0; end; Из за что тут бить?
ну тут даже править особо ничего не надо. убрал-добавил где не собралось
Имхо, классический пример
Из за того, что в отладчике не посмотришь значения свойства itemindex без использования клавиатуры
Вы все какие-то экзотические случаи находите 🤷♂
with надо знать где нужно применять, так он вообще нужен для отключения оверхэда, например при инициализации полей рекорда/класса банально идет более оптимальная работа
вроде бы with приоритет имеет, так что ответ очевиден
Только width у ректа - ридонли, а вот у формы - нет
Обсуждают сегодня