О это страшное слово "паттерны"! Поговорим о том, какие они бывают, как их можно реализовать и нужны ли они вообще в мире 1С. Донаты: donate.stream/openbsl-foundation
Пікірлер: 20
@You2Ber423 жыл бұрын
"Обработко ориентированное программирование" это 5+
@arshanskiysergey27913 жыл бұрын
Начало на 13:40
@user-vl7bh7gd3l3 жыл бұрын
Звук с 1:58, смотреть с 2:46
@You2Ber423 жыл бұрын
А расскажите как нибудь про AST деревья. Часто бывает нужно найти все запросы которые косвенно зависят от текущего (т.е. у меня в 1 запросе формируется ВТ1, затем другой запрос (не важно в этом пакете или другом) читает эту ВТ добавляет своими данными, помещает в другую ВТ2, третий запрос использует ВТ2 и.т.п. в итоге у меня между ВТ1 и ВТ2 прямая связь, а между ВТ1 и запрос 3 косвенная. Причем иногда нужно посмотреть на какие запросы влияет ВТ1 а иногда какие запросы влияют на Запрос3. Если я правильно понимают то AST дервья могут построить стэк вызовов и операторов (помещение в ВТ, чтение из ВТ)
@user-nd9cv4pd5m3 жыл бұрын
рассказывали на стримах по BSL LS. Но чистого AST/дерева разбора тут не хватит, нужна более сложная семантическая модель и вероятно data flow analysis. Надеюсь, что когда-нибудь BSL LS дорастет до такого уровня.
@g2405964483 жыл бұрын
Чтобы "чистому 1С-нику" изучать паттерны, нужно сначала посмотреть на варианты архитектур не 1сных решений, на других языках. Видео может оказаться непонятным для такого человека. (Ап чем они вообще говорят?) И вот тут, как ни странно, на помощь приходит совсем не батники/шелы/баши/питоны/джавы/шарпы.... (до которых 1снику длинен путь). На помощь приходит односкрип и готовые библиотеки/решения! Именно благодаря оскрипту и примененным в нем интересным финтам/приемам я (а может и не только я) теперь узнал, что это именуется паттернами. Благодаря сообществу оскрипта, через примеры впитывается и теория. В 1с такого не встретишь!) Поэтому участникам стрима и сообществу огромное спасибо! А злому бобру и всем контрибьютерам оскрипт-corp индивидуальные респектища за вот такой витиеватый вклад в ликбез желтых программистов!
@You2Ber423 жыл бұрын
согласен, очень полезно открыть и посмотреть крупные проекты на github тот же sonar например. Как там организована кодовая база.
@Das.Kleine.Krokodil2 жыл бұрын
какие именнно приемы в оскрипте показывают паттерны?
@Lebowski843 жыл бұрын
Функция ПолезнаяНагрузка (1:44:07) - нарушает первый принцип SOLID, имхо она должна занимается только полезной нагрузкой, а не дополнительным делегированием выполнения по цепочке. Само делегирование должно управляться управляющим объектом.
@user-nd9cv4pd5m3 жыл бұрын
При этом классическая версия паттерна выглядит именно так: refactoring.guru/ru/design-patterns/chain-of-responsibility Но мне тоже больше нравится вариант, когда вызов следующего обработчика идёт в промежуточном инфра-слое. Но это уже не "цепочка" :)
@cgwicio70932 жыл бұрын
О - это касается проектирования, а не расширения. То есть изначально неправильная трактовка. А то что было сказано на 19:34 - это как раз относится к L.
@user-vl7bh7gd3l3 жыл бұрын
Надпись "на халявный sonarqube" не кликабельна. Куда денег кидать?
@user-nd9cv4pd5m3 жыл бұрын
Добавил ссылку в описание
@PTolkachev3 жыл бұрын
Кошку назвали в честь Ады Лавлейс? :)
@user-nd9cv4pd5m3 жыл бұрын
Ага.
@phat802 жыл бұрын
Как не извращайся, но на 1С невозможно реализовать нормальную, легко поддерживаемую архитектуру просто потому, что у разработчика связаны руки очень скромными возможностями языка и жесткими ограничениями платформы.
@triviumfan94112 жыл бұрын
Смотрю на это как 1сник с 9летним опытом и вижу дичь, неприменимая в реальных кейсах и которая только больше запутает разработчика. Тупо баловство.
@user-nd9cv4pd5m2 жыл бұрын
пишу это как 1сник с десятилетним опытом и вижу дичь в головах людей и нежелание разбираться в CS