Scala Tools - scalafix, scalafmt und mdoc

Classroom Schulung | Deutsch | Anspruch

Schulungsdauer: 2 Tage

Ziele

scalafix ist ein Code Linter (Code-Prüfer) für Scala, der zusätzlich zum Compiler bestimmte Code-Regeln durchsetzen und die Compilierung abbrechen kann. Außerdem ist scalafix ein Refactoring-Tool, mit dem sich Scala-Quellcode auch nach definierten Regeln umschreiben lässt. So kann man scalafix z.B. verwenden, um den Code einer älteren Scala-Version in Code einer neueren Scala-Version umzustellen.

scalafmt ist ein Code-Formatierer, der sicherstellen kann, dass der gesamte Quellcode gewissen (konfigurierbaren) Formatierungsregeln entspricht. Z.B. lässt sich damit eine einheitliche Quellcode-Formatierung für ein ganzes Projekt durchsetzen.

Mit mdoc ist es möglich, den in einen Text (z.B. Markdown-Text) eingebetteten Scala-Code einer Compilerprüfung zu unterziehen. Dies kann für Dokumentationen oder Präsentationen nützlich sein, die Scala-Textschnipsel enthalten. Alle drei Tools basieren auf der Analyse des AST (Abstract Syntax Tree) mit Scalameta, die sich mit SemanticDB auch persistent speichern lässt.

Am Ende des Kurses haben die Teilnehmer/innen ein Grundverständnis von Scalameta und SemanticDB. Sie wissen, wie man syntaktische und semantische Regelm im Code mit Scalafix durchsetzen kann. Die Erstellung von scalafix-Regeln ist ein weiterer Gegenstand dieses Kurses. Außerdem erlernen die Teilnehmer/innen die Code-Formatierung mit scalafmt und das Erstellen compilierter Dokumentation mit mdoc.

Zielgruppe

Software-Entwickler/innen mit soliden Kenntnissen der Sprache Scala und der Scala-Standardbibliothek

Voraussetzungen

Kenntnisse der Inhalte des Kurses "Scala Language - Basics II" oder gleichwertige Kenntnisse

Agenda

Scalameta und SemanticDB

  • Scalameta
  • SemanticDB

Scalafix

  • Installation
  • Configuration
  • Syntactic Rules
  • Semantic Rules
  • Using built-in Rules
  • Write your own Rules

Scalafmt

  • Installation
  • Configuration
  • Usage of scalafmt

mdoc

  • sbt Project Setup for mdoc
  • Compiled Code embedded within Text
  • Invocation from sbt
  • Invocation from CLI

Ziele

scalafix ist ein Code Linter (Code-Prüfer) für Scala, der zusätzlich zum Compiler bestimmte Code-Regeln durchsetzen und die Compilierung abbrechen kann. Außerdem ist scalafix ein Refactoring-Tool, mit dem sich Scala-Quellcode auch nach definierten Regeln umschreiben lässt. So kann man scalafix z.B. verwenden, um den Code einer älteren Scala-Version in Code einer neueren Scala-Version umzustellen.

scalafmt ist ein Code-Formatierer, der sicherstellen kann, dass der gesamte Quellcode gewissen (konfigurierbaren) Formatierungsregeln entspricht. Z.B. lässt sich damit eine einheitliche Quellcode-Formatierung für ein ganzes Projekt durchsetzen.

Mit mdoc ist es möglich, den in einen Text (z.B. Markdown-Text) eingebetteten Scala-Code einer Compilerprüfung zu unterziehen. Dies kann für Dokumentationen oder Präsentationen nützlich sein, die Scala-Textschnipsel enthalten. Alle drei Tools basieren auf der Analyse des AST (Abstract Syntax Tree) mit Scalameta, die sich mit SemanticDB auch persistent speichern lässt.

Am Ende des Kurses haben die Teilnehmer/innen ein Grundverständnis von Scalameta und SemanticDB. Sie wissen, wie man syntaktische und semantische Regelm im Code mit Scalafix durchsetzen kann. Die Erstellung von scalafix-Regeln ist ein weiterer Gegenstand dieses Kurses. Außerdem erlernen die Teilnehmer/innen die Code-Formatierung mit scalafmt und das Erstellen compilierter Dokumentation mit mdoc.

Zielgruppe

Software-Entwickler/innen mit soliden Kenntnissen der Sprache Scala und der Scala-Standardbibliothek

Voraussetzungen

Kenntnisse der Inhalte des Kurses "Scala Language - Basics II" oder gleichwertige Kenntnisse

Agenda

Scalameta und SemanticDB

  • Scalameta
  • SemanticDB

Scalafix

  • Installation
  • Configuration
  • Syntactic Rules
  • Semantic Rules
  • Using built-in Rules
  • Write your own Rules

Scalafmt

  • Installation
  • Configuration
  • Usage of scalafmt

mdoc

  • sbt Project Setup for mdoc
  • Compiled Code embedded within Text
  • Invocation from sbt
  • Invocation from CLI

Dieser Lerninhalt wird in folgenden Lernplänen verwendet

Tags

Diese Seite weiterempfehlen