Олег Тымко: «Open Source помог мне прокачать навыки коллаборации и общения в сообществе»

22.06.2021      58585

На конференции Infostart Event 2021 Post-Apocalypse мы поговорили с ведущим разработчиком компании «Серебряная пуля» Олегом Тымко. Обсудили вопросы качества кода, развития Open Source проектов и основные принципы обмена знаниями в сообществе.

 

 

Представьтесь, пожалуйста, кто вы и в какой роли приехали к нам на конференцию.

Меня зовут Олег Тымко. Я приехал на конференцию в роли докладчика. Выступал с докладом по вскрытию статического анализа 1С и собираюсь проводить хакатон с OneScript.Web по разработке на языке 1С.

Который раз вы приезжаете на конференцию?

Я приезжаю третий раз. Два раза в роли докладчика, а один раз – просто в роли участника – слушал, ходил, смотрел, наблюдал.

Что вас привлекает на наших мероприятиях?

Мне нравится, в первую очередь, атмосфера. Здесь много людей, которые, для начала, хотят выйти из зоны комфорта. Потом – много единомышленников, с которыми можно обсудить какие-то специфические темы, потому что здесь на площадке, по сути, концентрируются люди разносторонние, с разными навыками, компетенциями, и можно узнать много чего нового.

Находят ли применение услышанные здесь идеи в вашей работе?

Я могу рассказать пример – я приезжал в 2018 году, здесь на площадке Инфостарт я услышал про Graylog для сбора логов, пообщался, узнал, для чего его используют, и с какими подводными камнями можно столкнуться, потому что где еще их можно узнать – либо на форумах, либо в каких-то чатах. А тут удалось пообщаться вживую. И, соответственно, с помощью тех знаний удалось уговорить у себя внедрить такую технологию, чтобы сделать жизнь сопровождению проще.

Вы уже вторую конференцию для доклада выбираете тему анализа качества кода. Почему вы считаете, что это важно?

Когда я только пришел в эту сферу разработки на 1С, мне многое было непонятно, и не только потому, что я столкнулся с новой спецификой, но еще и потому, что мне часто встречались большие куски спагетти-кода, который трудно разобрать. Я начинал свой путь во франчайзи – мы там старались типовой код вообще не трогать. Но задачи нужно было решать. И мне тогда показалось, что чем проще код написать, разделить на какие-то блоки, декомпозировать, тем проще в этом разбираться. И в течение 10 лет я совершенствовал себя, учился писать код лучше, изучал паттерны программирования и, соответственно, в какой-то момент переключился, и мне понравилась тема анализа качества кода.

Но для вас же это не просто тема для обсуждения, вы же сами создаете инструменты для анализа качества кода.

Если говорить об инструментах анализа кода, я один из участников сообщества 1c-syntax, где разрабатывается инструмент BSL Language Server, одно из направлений использования которого – это проверки. Соответственно, мы можем написать какие-то шаблоны, чтобы найти закономерность, чтобы выявить какой-то дефектный код – это может быть какая-то критическая ошибка или менее важная. Мне эта идея понравилась.

До этого я видел только «1С:Автоматизированную проверку конфигураций» и мне, к сожалению, не казалось удачной идеей там что-то в большом объеме разрабатывать. А для проекта BSL LS – правда, не на языке 1С, а на Java – удалось написать много проверок, которые существенно упростили разработку и поддержку в той компании, где я на тот момент работал. Все ошибки удавалось диагностировать сразу, до того, как они стрельнут в продуктиве. И, соответственно, я сэкономил время и тратил его на что-то другое, на что-то более интересное – либо было просто легче работать.

 

 

Насколько я знаю, проект BSL Language Server – это открытый проект, который развивается на GitHub, и кроме него вы участвуете и в других Open Source проектах. Как вы считаете, какую роль Open Source разработка играет в развитии сообщества?

Я в эту Open Source тусовку влился только в 2016 году. Это было не очень давно. К тому времени я уже прошел половину своего пути в 1С-разработке. Соответственно, меня заинтересовала тема OneScript, всех инструментов, написанных на нем. Мне Open Source помог прокачать навыки коллаборации, общения в сообществе, выяснения каких-то тем, прокачать навыки программирования вне экосистемы 1С. Получается, что 1С можно автоматизировать еще и другими способами, потому что одно дело – разработка, а другое дело – автоматизация разработки, чтобы экономить время. Как раз все эти библиотеки, скрипты на OneScript, попали в яблочко на 100%. Есть Vanessa-runner, который облегчает пакетный запуск, чтобы сократить рутинные действия. Например, с его помощью можно запустить расширенную проверку конфигурации – она хорошо выявляет критические ошибки. Нас вендор не обделил статическим анализом изначально, но не многие про это знают. Соответственно, через Vanessa-runner можно запускать пакетный режим одной читабельной строчкой, которая тебе выдает отчет, что у тебя внутри не так. Соответственно, если это писать на bash, на shell – получается простыня кода. А на OneScript все просто, понятно. Заходишь в код, и там можно разобраться, по крайней мере. В итоге такие инструменты мне очень понравились.

Могу рассказать про свой первый проект, который я написал на OneScript. Мой первый проект был Gitrules. Он решал следующую задачу – у меня были правила обмена 1С в формате «Конвертации данных 2.0». Была задача все это версионировать. Но, как мы знаем, xml-файл оказывается большим, а Git не умеет хорошо сравнивать эти xml-ки. И получается, когда добавляются какие-то куски кода, все разъезжается, и истории изменения нет.

Плюс нет возможности взять и нормально проверить все эти обработчики на существование метаданных. Потому что частая проблема – при обновлении конфигурации, релизов возникает, когда метаданные переименовались, какие-то модули стали недоступны. Соответственно, это нужно было как-то решать.

Было написано приложение, которое берет этот xml-файл и разбирает его на файлы, как платформа делает с конфигурацией – она из бинарного документа своего внутреннего скобочного формата раскладывает это на xml-файлы. Соответственно, с ними уже можно как-то работать. Для меня это было хорошим способом себя прокачать в этой сфере, тем более, в Open Source, в рамках такого проекта. Вроде как получилось, помогло сэкономить время. Если бы я писал на другом языке, это было бы для меня намного дольше.

И главное – это помогло вам освоить Git?

Да, освоить Git на хорошем уровне – не просто скачать проект, а пользоваться merge, history, делать перебазирование – эти все специфические вещи, которые для 1С-ников кажутся чудными, даже если они используются в EDT. Эти навыки прокачались. Плюс я познакомился с сообществом, которое образовалось вокруг OneScript. Это было интересно, плюс всегда можно было спросить что-то, и тебя, как на Мисте, не отправляли далеко.

 

 

Вы используете при разработке в 1С какие-то технологии соседних стеков, помимо 1С, потому что платформе 1С чего-то не хватает?

Я веду разработку не только в 1С, я разрабатываю и на других языках – например, на Java. И в не-1С-мире есть много инструментов, которые нужны. Но за много лет существования того же OneScript накопилось множество инструментов, которые помогают в платформе решить такие банальные задачи – допустим, тестирование, поведенческое или модульное. Для этого уже есть готовые Open Source инструменты.

То же самое для снятия покрытия кода – раньше оно выполнялось через Sikuli. Снималась картинка, запускался замер кода, и потом этот отчет конвертировался уже в покрытие. Вообще, для чего нужно покрытие? Чтобы, когда мы что-то тестируем, мы были уверены, какую конкретно логику мы проверили. Например, у нас какое-то множественное условие, и мы проверяем, что мы его полностью покрываем в каких-то бизнес-кейсах.

Чего не хватает в платформе? В свободное время я разрабатываю проект, который называется phoenix-bsl. Смысл этого проекта следующий – так как конфигуратор не расширяемый, то была цель взять проект BSL Language Server, который умеет проверять исходный код – прогонять через свои проверки и выдавать какой-то результат. И мне захотелось, не выходя из среды разработки, получить результат этих проверок. Такие же возможности дает разработка в среде VS Code, там можно все это проверять через специальный плагин, но мне хотелось это делать прямо в конфигураторе.

К сожалению, платформа не предоставляет возможности использовать UI Automation для определения, что у нас открыто определенное окошко 1С, что я там могу выделить текст и что-то сделать с ним. Мне пришлось реализовывать это через «кнопконажималку» – чтобы проанализировать текст, мы в модуле нажимаем Ctrl+A, выделяем его весь, потом копируем его в буфер обмена, обрабатываем и получаем результаты проверок. Такая схема работает, но она не слишком удобная. Поэтому хотелось бы, чтобы в платформе появились открытые интерфейсы, которые позволили бы делать какие-то удобные инструменты под себя. Но, я думаю, что, скорее всего, этого не будет, потому что есть платформа EDT, которая расширяется через плагины, и, соответственно, я сомневаюсь, что в платформе это может появиться. Но хотелось бы.

Для EDT вы же тоже пишете плагины?

Для платформы EDT я написал два плагина, их можно посмотреть в открытом доступе. Первый плагин – для BSL Language Server. Он нужен, чтобы получать в рамках EDT те же самые проверки, но уже в более удобном виде. В конфигураторе проблема в том, что когда вы получаете список проверок, то не видите выделений, всей этой подсветки, которая иногда помогает. А в EDT эта подсветка есть из «коробки», и плагин умеет с ней работать. У нас случилась какая-то проблема на строчке, мы ее выделили определенным цветом, говорим – «Там ошибка, посмотрите, проверьте, что с этим можно сделать».

Второй плагин – это плагин интеграции с платформой SonarQube. Для SonarQube существует множество плагинов различных языков, в том числе, и языка 1С. Причем в качестве плагина для языка 1С в SonarQube можно использовать не только 1C (BSL) Community Plugin, но и коммерческий 1C (BSL) Plugin. В этом коммерческом проекте есть возможность работать по протоколу – вызывать его результаты из других сред, в том числе, из EDT. Этот подход называется SonarLint. Соответственно, можно запускать анализ через SonarQube со всеми настройками (хранить эти настройки централизованно). И проверять код через SonarQube прямо в платформе EDT – делать подсветку замечаний, смотреть их описание. Видеть всю эту информацию, не выходя из среды разработки.

Вообще опыт разработки под платформу EDT у меня больше положительный, чем отрицательный, но есть определенные вещи, которые мешают другим людям быстрее войти в эту разработку.

А чем?

Документация написана для программистов, которые очень сильно знакомы с Java. Соответственно, если простой 1С-ник, который когда-то в институте изучал Java, захочет это написать, ему нужно сначала понять – что для проектов этих плагинов есть средство сборки maven; что есть репозитории в формате p2, где хранятся зависимости; что есть интеграционное тестирование, которого нет в нормальном виде для 1С; что нужно уметь писать тесты, которые будут открывать платформу EDT, прощелкивать все эти действия, которые мы можем делать ручками, и проверять на ожидаемое поведение. Это все для входа трудно, потому что, если ты этим не занимаешься, будет определенный дискомфорт и трата времени.

Потом хотелось бы, чтобы сообщество по разработке плагинов EDT было более дружелюбно, потому что сейчас обычно говорят: «Вы неправильно делаете», и все. В последнее время стало лучше, потому что в сообществе появились разработчики платформы EDT, они часто помогают по каким-то вопросам. Но в основном они отвечают только на вопросы, связанные с их подсистемой проверки качества кода, которую они сейчас разрабатывают.

 

 

В этом году тема конференции – пост-Апокалипсис. Как на вас отразился кризис прошлого года? Открыли ли вы для себя какие-то возможности в этот период?

На меня это повлияло, потому что нас всех отправили работать домой. С одной стороны – это смена обстановки, нужно уметь себя мотивировать, концентрироваться, научиться по-другому общаться со своей семьей. Потому что теперь люди постоянно находятся в одном месте, им нужно как-то лучше уживаться.

Но коронавирус сделал определенные положительные вещи – теперь многие компании хотят работать удаленно. Не важно, где ты живешь. Сейчас работодатели идут навстречу, и можно работать и удаленно. Этим я и воспользовался, сейчас я работаю полностью удаленно.

Какие направления развития вы выбираете для себя в этом году?

Сейчас я на работе занимаюсь как раз направлением анализа качества кода. И, соответственно, чтобы код анализировать лучше, нужно больше погружаться в алгоритмику, изучать теорию компиляторов, чтобы написать более качественный проект, который может ловить определенные вещи. Соответственно, на этот год у меня цель – поразрабатывать в направлении DFA (это анализ потока данных). И, соответственно, реализовать это в плагине. Вспомнить институт, где мы изучали что-то подобное – теорию графов и т.д.

Несколько пожеланий нашим гостям конференции, участникам сообщества Инфостарт.

Я бы хотел пожелать, чтобы люди не боялись приезжать на конференцию. Из-за коронавируса у многих паранойя в этом плане: «Нет, я не поеду, там много народа, я боюсь, что все заразятся». На мой взгляд, это неправда. Мы приехали сюда, здесь все хорошо, все стараются ходить в масках. Все общаются. Хочется пожелать, чтобы люди чаще ездили на такие конференции, потому что, во-первых, это обмен знаниями. Во-вторых, можно не только посмотреть на интересные доклады, но и пообщаться между ними – какие-то темы интересные пообсуждать, какие-то новые вещи узнать.
 

https://infostart.ru/events/


Автор:
Аналитик


В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
В этой теме еще нет сообщений.
Оставьте свое сообщение

См. также

WhatsApp или SMS?

Новость Маркетплейс

В среднем 2/3 россиян используют мессенджер WhatsApp каждый день. В октябре 2023 года ежемесячный охват WhatsApp составил 78.4% населения России (за период октябрь 2022-2023 года этот показатель вырос на 8.8%). С развитием технологий мессенджеры стали серьезным оружием в сфере продаж. В этой статье мы рассмотрим WhatsApp с точки зрения его возможностей, осветим преимущества и недостатки в сравнении с SMS-сообщениями.

сегодня в 17:30    69    dpershin    0       

0

Стартует курс по классическим методам проектного управления! Успейте записаться

Новость Обучение Руководитель проекта

28 марта на Инфостарт стартует онлайн-курс Марии Темчиной по классическому управлению ИТ-проектами. Слушатели курса изучат инструменты из PMBoK® и «1С:Технологии корпоративного внедрения», а также научатся применять их на проектах любого масштаба.

сегодня в 15:00    60    user997184    0       

1

Успейте до повышения цены: бронируйте участие по выгодным тарифам

Новость Aнализ&Управление Мероприятия

С 1 апреля запланировано изменение цен на участие в конференции «Анализ и Управление в ИТ-проектах». Публикуем таблицу с новой стоимостью на билеты и рассказываем, что нас ждет на конференции.

сегодня в 11:00    86    AnastasiaKl    0       

1

Объявляем сбор кейсов для баттла аналитиков

Новость Aнализ&Управление Мероприятия

Для конференции «Анализ и Управление в ИТ-проектах 2024» мы подбираем контент так, чтобы 70% приходилось на практические активности и только 30% – на теорию.

вчера в 15:00    382    user997184    0       

16

Научитесь работать в системе «1С:Аналитика» на курсе от Инфостарта

Новость Обучение

9 апреля стартует онлайн-курс по изучению возможностей и получению навыков работы в системе «1С:Аналитика». Курс подойдет пользователям 1С:Предприятие, которые уже имеют определенный опыт работы с различными прикладными решениями на платформе.

вчера в 14:00    281    AnastasiaKl    0       

15

ЭПД в «Мастер ТТН»: электронная транспортная накладная с автозаполнением реквизитов на основании реализации

Новость Маркетплейс ЭДО

В расширении «Мастер ТТН» появилось дополнение для формирования электронной транспортной накладной (ЭТрН) и отправки данных через оператора ЭПД «Калуга Астрал» по клиентскому API.

вчера в 12:09    245    Olga_Amelchenkova    0       

2

Завершение сеансов и назначение каталогов для хранения данных сервисов кластера – новое для админов в 8.3.26

Новость Зазеркалье

Официальный технологический блог «Заметки из Зазеркалья» опубликовал анонс новых возможностей технологической платформы 1С 8.3.26. На этот раз – хорошие новости для тех, кто занимается администрированием систем 1С:Предприятие.

вчера в 09:36    291    ЕленаЧерепнева    0       

1

Грандиозная распродажа на Инфостарт.Маркетплейс: с 25 марта по 7 апреля

Новость Маркетплейс

С 25 марта мы запустили распродажу на Инфостарт.Маркетплейс. Решение со скидкой до 50% можно выбрать для самых разных задач: от интеграции с маркетплейсами до инструментов разработчика. Рассказываем об условиях акции и о том, как воспользоваться специальным предложением.

26.03.2024    350    user997184    0       

4

Вышла Java 22

Новость ИТ-Новость Языки программирования

Выпущена общедоступная версия JDK 22, построенная на эталонной реализации Java SE. Готовые к использованию дистрибутивы под лицензией GPL уже доступны в рамках открытого проекта OpenJDK.

26.03.2024    310    VKuser24342747    0       

1

Станьте партнером конференции «Анализ и Управление в ИТ-проектах»: осталось всего 3 места!

Новость Aнализ&Управление Мероприятия

До конференции «Анализ и Управление в ИТ-проектах» осталось всего два месяца и всего три места для того, чтобы стать партнером мероприятия. Сегодня расскажем, какие преференции и «плюшки» получают наши партнеры.

26.03.2024    281    user997184    0       

15

17 апреля стартует комплексный курс по управлению ИТ-проектами от Марии Темчиной

Новость Обучение Руководитель проекта

Директор по проектам Инфостарт Мария Темчина, приглашает на Комплексный курс по управлению ИТ-проектами «3 в 1». Вы научитесь успешно руководить масштабными проектами в любом окружении (Водопад, Agile, гибридные подходы).

25.03.2024    289    user997184    0       

0

Бесплатный вебинар по возможностям 1С-Коннект пройдет уже завтра

Новость Сервисы ИТС

26 марта, в 11:00 по МСК, приглашаем на онлайн-вебинар о новых возможностях и основном функционале сервиса «1С-Коннект». Узнайте, как настроить автоматизацию техподдержки, услуг и коммуникаций с помощью платформы.

25.03.2024    291    AnastasiaKl    0       

1

Настраиваемые заявления для 1С:Кабинета сотрудника: доступно для типовых конфигураций

Новость Сервисы ИТС

Собственные настраиваемые шаблоны документов для сервиса 1С:Кабинет сотрудника можно создавать в 1С:БП 3.0.149, ЗУП 3.1.27.170 и ERP/КА 2.5.16.84. Рассказываем, как использовать эту возможность.

22.03.2024    654    ЕленаЧерепнева    0       

15

Большое интервью про стажеров: что делать, если ты решил «войти в ИТ» и выбрал 1С

Новость Сообщество

Представьте ситуацию: вы недавно окончили технический вуз или курсы по 1С-разработке. Кажется, что пора получать профиты и зарабатывать, но куда податься без опыта? Самый очевидный вывод – стажировка.

22.03.2024    1011    user997184    7       

16

Подводим итоги первого тура голосования и объявляем докладчиков-финалистов

Новость Aнализ&Управление Мероприятия

С 27 февраля по 19 марта прошел 1 тур голосования за доклады конференции «Анализ и Управление в ИТ-проектах». Модераторы рассмотрели 250+ заявок: проводили собеседования с докладчиками, уточняли тезисы и оттачивали каждую, прежде чем выпустить «в эфир».

22.03.2024    787    user997184    0       

16

Обновленный курс по работе с 1С:Аналитика: старт 9 апреля

Новость Обучение Программист

На онлайн-курсе «Работа с 1С:Аналитика» мы изучим возможности системы – составной части платформы «1С:Предприятие» и получим практические навыки по работе с ней.

22.03.2024    491    AnastasiaKl    0       

2

Бесплатный вебинар: Как опубликовать решение в Базе знаний Инфостарт

Новость Сервисы ИТС

Продолжаем рассказывать о том, как работать с Базой знаний и 1С-Store. 17 апреля в 11:00 МСК приглашаем на бесплатный онлайн-вебинар от Инфостарт.Сопровождение 1С, где мы расскажем, как правильно создавать, оформлять решения или статьи.

22.03.2024    444    AnastasiaKl    2       

16

Интеграция с ГИИС ДМДК: применение УТМ скоро станет обязательным

Новость Маркетплейс Маркировка Новый релиз Обзор готовых решений

До сентября 2024 года планируется обязать участников оборота использовать УТМ при продаже ювелирных изделий в розницу. Рассказываем, как задачи по интеграции с ГИИС ДМДК с использованием УТМ реализованы в продуктах 1С.

21.03.2024    903    user1915669    0       

15

Что нового в сервисах 1С: обзор актуальных обновлений

Новость Сервисы ИТС

Возможности решений 1С, с которым работает пользователь, сейчас определяются не только платформой и конфигурацией, но еще и набором подключенных к информационной базе сервисов. Расскажем о последних обновлениях сервисов 1С.

20.03.2024    1751    ЕленаЧерепнева    1       

1

Новая редакция 1C:PM Управление проектами 5.0 и снятие с продаж 1С:УПО на обычных формах

Новость

Фирма «1С» обновила линейку решений для управления проектами – из прайс-листа была исключена устаревшая конфигурация «1С:Управление проектным офисом», а актуальное решение «1C:PM Управление проектами ПРОФ» обновлено до редакции 5.0.

20.03.2024    732    ЕленаЧерепнева    0       

1

28 марта – старт продвинутого курса по управлению ИТ-проектами

Новость Обучение Руководитель проекта

Если у вас уже есть опыт проектного управления, но не хватает знаний и компетенций, чтобы систематизировать свои навыки и руководить масштабными проектами, записывайтесь на продвинутый курс по «классическому подходу» управления.

20.03.2024    657    AnastasiaKl    0       

15

Подписывайтесь на ТГ-канал «Анализ и Управление в ИТ-проектах» и выигрывайте призы

Новость Aнализ&Управление Мероприятия

Инфостарт объявляет розыгрыш призов для всех подписчиков телеграм-канала конференции «Анализ и Управление в ИТ-проектах». Подписывайтесь на канал, участвуйте в розыгрыше и будьте в курсе всех самых актуальных новостей конференции.

19.03.2024    724    AnastasiaKl    0       

15

21 марта – бесплатный вебинар по выгрузке данных из 1С в BI-аналитику

Новость Маркетплейс

На встрече поговорим о том, как автоматизировать работу по выгрузке данных из 1С для последующего анализа в BI-системах. Поможет нам в этом специальный инструмент – «Экстрактор 1С».

18.03.2024    920    user997184    0       

1

1С-Коннект как единое окно взаимодействия для сотрудников компании: корпоративная культура в эпоху удаленки

Новость Сервисы ИТС

1С-Коннект – готовое решение для автоматизации техподдержки со встроенным корпоративным мессенджером и возможностью удаленного подключения. Рассказываем об использовании 1С-Коннект и напоминаем, что 26 марта состоится вебинар по новым возможностям.

18.03.2024    1126    vikad    0       

17

Онлайн-курс по прототипированию интерфейсов в Figma начнется уже сегодня: успейте присоединиться

Новость Обучение

Сегодня, 18 марта, стартует онлайн-обучению по прототипированию интерфейсов 1С. На курсе потренируемся работать с Figma, нарисуем современный баннер, спроектируем командную панель и потренируемся давать обратную связь по прототипам.

18.03.2024    584    user997184    0       

2