Отчет С Петербургской Scala Meetup 2017.3

5 декабря в Санкт-Петербурге прошла третья встреча разработчиков Scala. Группа пользователей встречается раз в 2-3 месяца, посещая одну из компаний, являющихся активными членами сообщества, использующих язык Scala или связанные с ним технологии.

На этот раз местом проведения был выбран офис JetBrains на Васильевском острове.

Там работает команда разработчиков плагинов Scala для сред IntelliJ IDEA и Android Studio.

Отчет с петербургской Scala MeetUp 2017.3

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

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



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

Мутационное тестирование.

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

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

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

Известные инструменты: М.

Т.

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

Как Андрей справился с задачей, что получилось и как с этим работать, смотрим в выступлении:

Cowboy Build Tool, GSoC и многое другое

В мире Scala абсолютным лидером среди инструментов сборки является SBT. И хотя он поддерживается центром разработки языка Scala, у него есть свои проблемы и трудности.

Как известно, прогресс не стоит на месте – предпринимаются попытки решения этих проблем, в т.ч.

и создание более совершенных инструментов.

CBT — молодой и перспективный претендент на место основного инструмента сборки в среде Scala. Илья в своем выступлении рассказал о возможностях и преимуществах этого инструмента:

Практикуйтесь в использовании Slick

Одной из особенностей языка Scala является сочетание объектно-ориентированной и функциональной парадигм.

Возможности, которые он предоставляет, реализованы в библиотеке базы данных Slick. Сергей раскрыл эту тему на ряде практических примеров из опыта своей команды:

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

Спасибо и увидимся снова! Теги: #scala #meetup #jetbrains #usergroup #mutation-testing #cbt #slick
Вместе с данным постом часто просматривают:

Автор Статьи


Зарегистрирован: 2019-12-10 15:07:06
Баллов опыта: 0
Всего постов на сайте: 0
Всего комментарий на сайте: 0
Dima Manisha

Dima Manisha

Эксперт Wmlog. Профессиональный веб-мастер, SEO-специалист, дизайнер, маркетолог и интернет-предприниматель.