Size: a a a

1С, БСП, DevOps и Архитектура

2021 February 02

VM

Valery Maximov in 1С, БСП, DevOps и Архитектура
где Бобер
источник

VM

Valery Maximov in 1С, БСП, DevOps и Архитектура
он счас всех рассудит
источник

VM

Valery Maximov in 1С, БСП, DevOps и Архитектура
разучились программировать)
источник

H

Hero in 1С, БСП, DevOps и Архитектура
Nikita Gryzlov
В цикле для со счётчиком верхняя граница вычисляется на каждую итерацию, насколько я помню
В других языках можно так?
Это же опасно, как мне кажется.
источник

AK

Andrey Konev in 1С, БСП, DevOps и Архитектура
Hero
В других языках можно так?
Это же опасно, как мне кажется.
В c++ при оптимизации может один раз вызываться
источник

КЧ

Кирилл Черненко... in 1С, БСП, DevOps и Архитектура
Nikita Gryzlov
Хм. Я помню, что одна из рекомендаций оптимизации - вынос вызова Количество()/ВГраница() у массива за пределы цикла
Вероятно поведение для коллекции и просто метода может отличаться.
источник

A

Alexey Lab Sosnoviy in 1С, БСП, DevOps и Архитектура
Konstantin Heinrich
Сообщение тривиальное, но если уж говорить о чистом коде, то так писать не рекомендуется
Разновидность Коллекция.Количество()
источник

KH

Konstantin Heinrich in 1С, БСП, DevOps и Архитектура
Alexey Lab Sosnoviy
Разновидность Коллекция.Количество()
Если в общем, то да, но не совсем
источник

A

Alexey Lab Sosnoviy in 1С, БСП, DevOps и Архитектура
Nikita Gryzlov
Хм. Я помню, что одна из рекомендаций оптимизации - вынос вызова Количество()/ВГраница() у массива за пределы цикла
Вычисление значения Выражение2 происходит один раз, в начале цикла, и не пересчитывается при каждой итерации.
 А то что ты помнишь это для раннего js =)
источник

KH

Konstantin Heinrich in 1С, БСП, DevOps и Архитектура
Это примерно 5-й пункт: https://its.1c.ru/db/v8std/content/441/hdoc
источник

A

Alexey Lab Sosnoviy in 1С, БСП, DevOps и Архитектура
ну нееет
источник

AK

Andrey Konev in 1С, БСП, DevOps и Архитектура
Кирилл Черненко
Вероятно поведение для коллекции и просто метода может отличаться.
Процедура КнопкаВыполнитьНажатие(Кнопка)
                Х = новый СписокЗначений;
                для я = 1 по Х.Количество()+1 цикл
                               Х.Добавить(Я);
                               Сообщить("Я="+Я);
                КонецЦикла;
                              
источник

AK

Andrey Konev in 1С, БСП, DevOps и Архитектура
Сколько раз выполняется?
источник

KH

Konstantin Heinrich in 1С, БСП, DevOps и Архитектура
Например, для отладки. В ЧтоТо() могут происходить большие вычисления, и чтобы просто посмотреть что получилось, надо вызвать еще раз
источник

KH

Konstantin Heinrich in 1С, БСП, DevOps и Архитектура
Или, что тоже неверно, но в функции могут быть побочные эффекты изменения данных. И повторный вызов повлияет на ход выполнения
источник

A

Alexey Lab Sosnoviy in 1С, БСП, DevOps и Архитектура
Konstantin Heinrich
Или, что тоже неверно, но в функции могут быть побочные эффекты изменения данных. И повторный вызов повлияет на ход выполнения
Это про что то другое =) тут про то что вызов будет только один. Ну а если там сайд эффекты, то неважно в выражении2 цикла оно или заранеее выделяется в переменную
источник

KH

Konstantin Heinrich in 1С, БСП, DevOps и Архитектура
Alexey Lab Sosnoviy
ну нееет
А что, тоже почти условие для цикла. Но, мне кажется, я где-то в другом месте читал общее правило, что в выражениях вызов функций следует класть в отдельные переменные
источник

KH

Konstantin Heinrich in 1С, БСП, DevOps и Архитектура
Alexey Lab Sosnoviy
Это про что то другое =) тут про то что вызов будет только один. Ну а если там сайд эффекты, то неважно в выражении2 цикла оно или заранеее выделяется в переменную
Просто раньше у тебя были заметки про чистоту кода. Я с этой стороны и рассказываю.
источник

A

Alexey Lab Sosnoviy in 1С, БСП, DevOps и Архитектура
Konstantin Heinrich
А что, тоже почти условие для цикла. Но, мне кажется, я где-то в другом месте читал общее правило, что в выражениях вызов функций следует класть в отдельные переменные
Читай как  Для а = 1 По Коллекция.Количество() - посыл в этом =)
источник

AK

Andrey Konev in 1С, БСП, DevOps и Архитектура
Konstantin Heinrich
А что, тоже почти условие для цикла. Но, мне кажется, я где-то в другом месте читал общее правило, что в выражениях вызов функций следует класть в отдельные переменные
Это другое
При таком написании можно получить вызов диалога 2 раза
источник