Имя: Пароль:
1C
1С v8
Философский вопрос о коде
,
0 quest
 
03.06.12
17:07
1. 1 вариант 52% (14)
2. 2 вариант 48% (13)
Всего мнений: 27

Вот два примера условного кода. Они эквивалентны. Что делает УсловиеВыполнено() - не важно сейчас.
1. Функция Вариант1(ТЗ)
   для каждого х из ТЗ цикл
      если УсловиеВыполнено(х) тогда
         возврат истина;
      конецЕсли
   конецЦикла;
  возврат ложь;
  КонецФунции
2. Функция Вариант2(ТЗ)
   результат = ложь;
   для каждого х из ТЗ цикл
      если УсловиеВыполнено(х) тогда
         результат = истина;
         прервать
      конецЕсли
   конецЦикла;
  возврат результат;
  КонецФунции



Но вот какой из варинатов лучше?
5 shuhard
 
03.06.12
17:12
(0) первый вариант аполитичен

2 вариант
6 wade25
 
03.06.12
17:13
В 1ом же вроде он полюбас всю ТЗ пробежит, а во втором выкенет как то получит результат, или не7

2 вариант
9 Мимохожий Однако
 
03.06.12
17:18
Мне привычнее

2 вариант
14 batman69
 
03.06.12
17:50
Второй более читабельный. И правильный.

2 вариант
40 vde69
 
03.06.12
18:24
Если функция возвращает значение - то оператор "Возврат" должен быть один, и желательно в самом конце функции, что-бы его легче было найти.

по этому второй вариант более читабельным

2 вариант
50 Professor_1С
 
03.06.12
18:27
...я обычно так делаю.

2 вариант
77 Азазелло
 
03.06.12
18:40
В целях отладки удобнее

2 вариант
78 mirosh
 
03.06.12
18:40
я за второй вариант, отладка,универсальность и прочее

2 вариант
82 batman69
 
03.06.12
18:43
Да ..

2 вариант
108 NcSteel
 
03.06.12
20:55
Методология мля.

2 вариант
110 serffer
 
03.06.12
21:42
Я за код который легче поддерживать и дорабатывать.

2 вариант
126 dklushin
 
03.06.12
23:44
(124) давай без оскорблений пожалуйста, опытный писатель. Какую функцию написал, про ту и говорим. Что её нет смысла выносить в отдельную.

2 вариант
128 dklushin
 
04.06.12
00:00
(127) в общем теперь поняли друг друга, отлично. Но согласись, целесообразность использования варианта 1/2 опять же от контекста зависит. Так-то второй более кошерен. Зачастую при отладке трудно отловить точку выхода, поставил брейкпоинт, а хрен там, не поймал, ищешь другой "возврат". А в приведённом выше коде конечно лаконичнее 1. Или например если огромный код, точка выхода в самом конце. И в начале, идёт проверка условия и выход, тут тоже вариант 1 более удобен.

2 вариант
Компьютеры — это как велосипед. Только для нашего сознания. Стив Джобс