company_banner

Отчёт c St. Petersburg Scala MeetUp 2017.3

    Пятого декабря в Санкт-Петербурге прошёл третий митап Scala разработчиков. Юзер-группа встречается раз в 2-3 месяца, в гостях у какой-либо из компаний — активных участников сообщества, использующих язык Scala или смежные ему технологии. На этот раз, площадкой проведения был выбран офис компании JetBrains на Васильевском острове. В нём ведёт свою деятельность команда разработчиков Scala plugin для сред IntelliJ IDEA и Android Studio.

    imageВ программе митапа были три выступления наших коллег:

    1. Андрей Сугак (JetBrains) рассказал о результатах своей дипломной работы: инструменте Мутационного тестирования проектов на языке Scala;
    2. Илья Кириллов (СПБГУ) представил недавно появившийся build tool CBT;
    3. Сергей Рублев (eLama) дал ряд практических примеров использования библиотеки Slick.

    Подробности выступлений и видеоматериалы под катом…

    Инструмент мутационного тестирования для Scala проектов


    Мутационное тестирование. Пожалуй, самое краткое объяснение этого процесса у меня получилось такое: а) есть код покрытый unit-тестами; б) тесты проверяют качество кода; в) намеренно вносимые в код изменения (мутации) проверяют качество тестов.

    Например, если в функции, считающей сумму элементов, знак "+" поменять на "-", а тесты, покрывающие её, продолжат проходить, то стоит обратить на это внимание. Мутации вносятся «осознанно», это могут быть замены арифметических и логических операторов, констант, возвращаемых значений функций и др. Чем больше «мутаций» выживает (не обнаруживаются тестами), тем хуже качество тестов.

    Известны инструменты М.Т. для Java, Ruby, JavaScript, PHP, С# и Haskell. Так же, известно, что для Scala предпринималась попытка создать таковой инструмент, но не пошло, из-за большого количества манипуляций с кодом на стадии компиляции. Как Андрей справлялся с поставленной задачей, что получилось, и как с этим работать смотрим в выступлении:



    Cowboy Build Tool, GSoC и прочее


    В мире Scala абсолютным лидером среди build tools является SBT. И хоть он и поддерживается центром разработки языка Scala, он имеет свои проблемы и сложности. Как мы знаем, прогресс не стоит на месте — предпринимаются попытки эти проблемы решить, в т.ч. и созданием более совершенных инструментов. CBT — молодой и подающий надежды претендент на место основного build tool'a в среде Scala.

    Илья, в своём выступлении рассказал о возможностях и преимуществах этого инструмента:



    Практика использования Slick


    Одна из особенностей языка Scala — сочетание объектно-ориентированной и функциональной парадигм. Возможности, которые оно производит, реализуются в библиотеке Slick для работы с БД. Сергей раскрыл эту тему на ряде практических примеров из опыта работы своей команды:



    Для дальнейшего знакомства


    • Фотоматериалы со встречи находятся во встрече мероприятия;
    • Информация о новых митапах будет появляться в Юзергруппе Scala SPb;
    • Инструмент мутационного тестирования для Scala проектов на GitHub.

    Спасибо и до новых встреч!
    JetBrains 265,85
    Делаем эффективные инструменты для разработчиков
    Поделиться публикацией
    Комментарии 0

    Только полноправные пользователи могут оставлять комментарии. Войдите, пожалуйста.

    Самое читаемое