(0) 1С: Бухгалтерский учет 7.7; 1С: Оперативный учет 7.7; 1С: Расчет 7.7; 1C: OpenConf 7.7
В клюшках есть структуры? Или это глюк сайта, эти разделы сами добавляются?
Статья полезная новичкам, хотя идея использовать структуру для передачи параметров или контекста не нова. Сам использовал структуры ещё года три назад.
Коллега вам в журнализты надо было податься, столько воды из пальца высосать это надо уметь. Ну и как бы структуры для передачи параметров используются во всех типовых.
(5) но не регулярно. Типовые вообще отличаются в этом плане лоскутностью. Где-то используются, где-то тащат хвост из 10 параметров... ;-) К тому же у меня есть еще вложенные структуры для рекурсивных функций, это самоценный по себе материал.
(6) Вы о чем? Речь идет о минимизации количества таскаемых из функции в функцию параметров.
создание списков значений в клюшке весьма трудоемкий процесс
СоздатьОбъект("СписокЗначений") - 31 символ
Новый Структура - 15 символов
Т.е. трудоемкость в семерке вдвое превышает восьмерочную.
Установить - 10 символов
Вставить - 8 символов
И здесь 25% выигрыша.
Получить - 8 символов
Свойство - тоже 8. тут трудоескость совпадает :(
(13) Про "ДобавитьЗначение" в моем посте ни слова нет. А в контексте статьи, если начальные значения (параметры) вычисляются, и вовсе не о чем говорить.
Новые (по сравнению с семеркой) Структура и Соответствие - это просто излишние "сущности", не имеющие никаких оснований для своего появления. Понятно, коненчно, что в плане Запросов (специально выделил восьмерочную морковку) они отличаются от (семерочного) списка значений возможностью индексирования по ключу. Однако до восьмерочного списка значений они не дотягивают по функционалу.
Про передачу параметра по ссылке поддержу. Способ не хорош, если необходимо вернуть значение из функции через параметр.
Еще он начисто убивает такую удобную штуку, как не обязательный параметр и значение параметра по-умолчанию. Понятно, что на входе в функцию можно анализировать структуру, но это лишний код.
Вообщем, это не "серебрянная пуля", но за простую минимизацию количества параметров однозначный плюс.
И, кстати, я бы сказал, что лучше было бы передавать несколько структур, сообразно сущностям, которые объединяют параметры. Например, если в некую функцию передается "Город", "Улица", "Дом", "ФИО", "ДатаРождения", "ИНН", то возможно это логично разбить на две структуры: "Адрес" ("Город", "Улица", "Дом") и "Контрагент" ("ФИО", "ДатаРождения", "ИНН"). А вообще, читайте Мартина у него хорошо об этом написано.
У описанной технологии есть отрицательные стороны - за всё надо платить.
1. Функция не знает, есть ли в переданной структуре нужные элементы структуры и какие они имеют типы. Следовательно всё нужно проверять внутри функции, что может влиять на производительность.
2. На извлечение элементов из структуры тратится определенное время. Если функция будет внутри цикла, то это может быть ощутимо.
Возможно именно поэтому такой подход и применяется не повсеместно, а лишь в некоторых местах.
(9) Ну. В 1С типы и в описании параметров не проверяются. =)
И насчет проверки... Если вы обратитесь к параметру, который в функцию не передавали, так как не описывали в списке передаваемых параметров, то получите ошибку, так же как при обращении к несуществующему элементу структуры.
Хотя, в целом согласен, что структуры могут усложнить отладку, так как скрывают детали описания "интерфейса функции".
(21) насчет обработок верно.
просто ранее высказывался порой не лицеприятно в адрес оппонентов и агрессивно реагировал на критику в свой адрес.
общество за это время кардинально не изменилось, а стиль общения с тобой теперь совсем иной.
вот я и сделал вывод что изменился ты, что очень хорошо.
вот такая мысль.