onway писал(а):
На тему эргономичности отображения имеем 3 варианта:
1. Дракон-схема2. Код на ИС ДраконКод:
// G:\Dragon_2013_02_01\Новый_02.drt
// 1. Схема - процедура, Изменение 08.02.2013 13:14:01, Начало
Функция КоличествоЭлементовВыборки(Выборка)
// ==================== Шампур
// 2. Заголовок / Количество элементов
// -7. Параметры / Выборка
// 4. Действие / количество элементов = 0
// -13. Правый комментарий / Возвращаемое значение
КоличествоЭлементов = 0;
~М3:
// 3. Цикл Вопрос / Получили следующий элемент == Да
Если Выборка.Следующий() Тогда Перейти М6;
// 5. Конец / Конец
Перейти М_end1;
// ==================== Шампур
~М6:
// 6. Действие / Увеличим количество элементов на единицу
КоличествоЭлементов = КоличествоЭлементов + 1;
Перейти М3;
// 1. Схема, Конец
~М_end1:
Возврат КоличествоЭлементов;
КонецФункции
3. Код на "1С Предприятие"Код:
Функция КоличествоЭлементовВыборки(Выборка)
КоличествоЭлементов = 0;
Пока Выборка.Следующий() Цикл
КоличествоЭлементов = КоличествоЭлементов + 1;
КонецЦикла;
Возврат КоличествоЭлементов;
КонецФункции
На мой взгляд код сгенерированый в ИС Дракон назвать "эргономичным" можно только в кавычках. Обслуживание такого кода только увеличит трудозатраты и пользоваться такой генерацией не представляется возможным.
Вывод: ИС Дракон хороша только в рамках стратегической/укрупненной карты решения задачи.
У меня есть успешный опыт написания кода для 1С с использованием ИС Дракон, поэтому могу сказать, что код выглядит по другому бесспорно и имеет свои плюсы и минусы. К плюсам я в первую очередь отнесу что помимо проработки логики алгоритмов мы можем не линейно идти сверху вниз в теле процедуры, но и использовать переходы к разным частям кода не выходя за тело процедуры, что во многих местах позволяет не плодить процедуры и функции без необходимости. Это дает большой прирост эргономичности.
В приведенном Вами примере, для цикла, вы использовали не верную икону, в примере икона: "Обычный цикл" - можно сравнить с ЕСЛИ наоборот:). Оптимальней использовать икону "Цикл ДЛЯ" - в результате вы получите такой же код как и при написании вручную.