Имя: Пароль:
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;
КонецЦикла;


Какой из вариантов вам ближе? в каких случаях? почему?
8 dklushin
 
04.06.12
00:10
(0) вопрос один: где ты это берёшь? конечно первый. Если вот тебе нужно перескакивать через элементы, знать индекс текущего элемента при выполнении, ещё что-то творить с индексами, то тут ещё можно подумать, а так....

Вариант 1
9 Нуф-Нуф
 
04.06.12
00:11
Не?

Вариант 1
35 Steel_Wheel
 
04.06.12
01:04
Незачем вручную считать индекс: ты его нигде не используешь, кроме обхода.

Вариант 1
41 Loki_DelMar
 
04.06.12
06:20
Определенно первый вариант, если не нужны индексы. Либо второй, если нужны.

Вариант 1
43 dva1c
 
04.06.12
06:40
В типовых и в рекомендациях

Вариант 1
46 ДенисЧ
 
04.06.12
07:56
Извращенцы...

В цикле для каждого при удалении строки из ТЗ выборка не сбивается...

Вариант 1
47 Vladal
 
04.06.12
08:19
(46) вот-вот

Вариант 1
49 Defender aka LINN
 
04.06.12
08:28
(6) Я обхожусь без индекса при удалении. ЧЯДНТ?

Вариант 1
51 Помогите
 
04.06.12
08:57
конечно

Вариант 1
53 Maxus43
 
04.06.12
09:07
только так.
З.ы. для удаления строк по другому, типа 2

Вариант 1
54 PuhUfa
 
04.06.12
09:12
1

Вариант 1
56 mirosh
 
04.06.12
09:57
по методологии 1с конечно же

Вариант 1
58 Ахиллес
 
04.06.12
10:06
Но часто ленюсь и делаю, как короче.

Вариант 1