📜 ⬆️ ⬇️

Report c St. Petersburg Scala MeetUp 2017.3

On the fifth of December in St. Petersburg was the third mitap of Scala developers. The user group occurs every 2-3 months, visiting any of the companies - active community members using the Scala language or technologies adjacent to it. This time, the venue of the company was chosen JetBrains office on Vasilyevsky Island. The Scala plugin development team for IntelliJ IDEA and Android Studio runs its business there.

image The program of the rally was three speeches of our colleagues:

  1. Andrei Sugak (JetBrains) spoke about the results of his thesis: a tool for mutation testing of projects in the Scala language;
  2. Ilya Kirillov (St. Petersburg State University) presented the recently appeared CBT build tool;
  3. Sergey Rublev (eLama) gave a number of practical examples of using the Slick library.

Details of performances and video materials under the cut ...

Mutual testing tool for Scala projects


Mutation testing. Perhaps the most brief explanation of this process I got is this: a) there is a code covered by unit-tests; b) tests check the quality of the code; c) intentionally introduced changes in the code (mutations) check the quality of the tests.
')
For example, if in the function that counts the sum of elements, the sign "+" is changed to "-", and the tests covering it continue to pass, then you should pay attention to it. Mutations are introduced “consciously”, these can be replacements of arithmetic and logical operators, constants, return values ​​of functions, etc. The more “mutations” survive (not detected by tests), the worse the quality of tests.

Known tools M.T. for Java, Ruby, JavaScript, PHP, C # and Haskell. It is also known that Scala attempted to create such a tool, but did not go, because of the large number of manipulations with the code at the compilation stage. How Andrei coped with the task, what happened, and how to work with it, we look at the presentation:



Cowboy Build Tool, GSoC and more


In the Scala world, SBT is the absolute leader among build tools. And although it is supported by the Scala language development center, it has its own problems and difficulties. As we know, progress does not stand still - attempts are being made to solve these problems, incl. and the creation of more advanced tools. CBT is a young and promising contender for the place of the main build tool in Scala.

Ilya, in his speech, spoke about the possibilities and advantages of this tool:



Practice using Slick


One of the features of the Scala language is a combination of object-oriented and functional paradigms. The possibilities that it produces are realized in the Slick library for working with the database. Sergey revealed this topic on a number of practical examples from the experience of his team:



For further acquaintance



Thank you and see you soon!

Source: https://habr.com/ru/post/347104/


All Articles