Имя: Пароль:
1C
1С v8
Философский вопрос об оформлении кода - 3
, ,
0 quest
 
03.06.12
23:49
1. Вариант 1 76% (13)
2. Вариант 2 24% (4)
3. Вариант 3 0% (0)
Всего мнений: 17

Трава стала еще забористее.
уже 3 эквивалентных варианта кода (здесь ТЗ это таблица значений)

1.
для каждого СтрокаТЗ из ТЗ цикл
   что-то делаем со СтрокаТЗ;
КонецЦикла;

2.
всего = ТЗ.Количество()-1;
для ИндексСтроки = 0 по всего цикл
   СтрокаТЗ = ТЗ[ИндексСтроки];
   что-то делаем со СтрокаТЗ;
КонецЦикла;

3.
всего = ТЗ.Количество()-1;
ИндексСтроки = 0;
пока ИндексСтроки < всего цикл
   СтрокаТЗ = ТЗ[ИндексСтроки];
   что-то делаем со СтрокаТЗ;
   ИндексСтроки = ИндексСтроки + 1;
КонецЦикла;


Какой из вариантов вам ближе? в каких случаях? почему?
1 0_Serg_0
 
03.06.12
23:51
2  вариант

но  вместо

всего = ТЗ.Количество()-1;
для ИндексСтроки = 0 по всего цикл

написал бы

всего = ТЗ.Количество();
для ИндексСтроки = 0 по всего-1 цикл

или


для ИндексСтроки = 0 по ТЗ.Количество()-1 цикл

Вариант 2
44 dva1c
 
04.06.12
06:40
Можно использовать и...

Вариант 2
48 shamannk
 
04.06.12
08:24
А если в первом варианте из этого же тз удалять строку то обходить тз цикл будет меньше раз на кол-во удаленных. Пример тз из 2строк 1ую удаляем и цикл завершается.

Вариант 2
57 Ахиллес
 
04.06.12
10:05
Удобнее, когда точка выхода из функции 1, поэтому

Вариант 2
AdBlock убивает бесплатный контент. 1Сергей