Форум 1С
Программистам, бухгалтерам, администраторам, пользователям
Задай вопрос - получи решение проблемы
11 мая 2025, 10:15

Если А <> Б Тогда А = Б

Автор Golickoff, 15 ноя 2017, 04:16

0 Пользователей и 1 гость просматривают эту тему.

Golickoff

Всем привет.

Переписываю обработку одного небезызвестного разработчика под УФ. Столкнулся с процедурой, которая не делает ничего кроме
Если ОднаПеременная <> ДругаяПеременная Тогда
    ОднаПеременная = ДругаяПеременная;
КонецЕсли;


ДругаяПеременная имеет тип СправочникСсылка. Сделал замер производительности и независимо от начальных условий на моей машине разницы в производительности нет как с условием, так и с безусловным присвоением. Вопрос: для чего нужно сравнение? С ним работает быстрее на медленном железе, или это какое-то правило хорошего тона?
Правило поведения на форуме №6: Не следует пытаться привлечь внимание к своему сообщению ... рассылкой персональных сообщений и/или электронных писем отдельным участникам форума с просьбой ответить в теме.

AIFrame

"Это художник, он так видит."
Я думаю, на ваш вопрос ответит прекрасная статейка "Перестаньте писать классы".
https://habrahabr.ru/post/140581/

ilyay

Вот причины, по которым нужна такая конструкция:
1. А является полем какого-либо объекта, предположительно, платформа может анализировать какие реквизиты изменились, чтобы не перезаписывать все поля и табличные части. Поэтому присвоение А=Б, когда А=Б, приведет к тому, что платформа будет считать, что поле А нужно обновить.
2. Разработчик оставил памятку о условии, которое должно выполняться в этом месте. Это позволяет установить точку останова внутри условия, чтобы разобраться с ситуацией, почему значения не равны.

Golickoff

Правило поведения на форуме №6: Не следует пытаться привлечь внимание к своему сообщению ... рассылкой персональных сообщений и/или электронных писем отдельным участникам форума с просьбой ответить в теме.

Теги:
Рейтинг@Mail.ru

Поиск