Tooling

Rustup

rustup ist ein Tool um die Installation und Verwaltung von "Rust-Toolchains" zu erleichtern. Diese Toolchains sind Compiler fuer verschiedene Betriebssysteme und Architekturen. Mit rustup kann man mehrere dieser Compiler installieren, verwalten und updaten.

rust-analyzer

rust-analyzer ist ein Language Server fuer Rust. Dieser bietet Funktionen zur statischen Code-Analyse, Autovervollständigung, Refactoring, Fehlererkennung und andere hilfreiche Features.

Cargo

In Rust ist Cargo sowohl ein Build-System als auch ein Paketmanager, was bedeutet, dass es sich um den gesamten Build-Prozess kümmert und gleichzeitig die Verwaltung von Abhängigkeiten erleichtert. Dies trägt dazu bei, dass Rust-Projekte leichter zu erstellen, zu teilen und zu warten sind.

  • Build-System
    • Kompilierung von Software
    • Definiert, wie Quellcode in ausführbaren Code umgewandelt wird (Kompilierungsoptionen)
    • Dependencies
  • Paketmanager
    • Verwaltung von Abhängigkeiten und Bibliotheken in einem Softwareprojekt
    • Herunterladen, Installieren und Aktualisieren von Bibliotheken oder Modulen
    • Richtige Versionen von Abhängigkeiten

Clippy

clippy ist ein Linter, der dazu dient, Quellcode statisch zu analysieren.

  • Identifiziert syntaktische Fehler oder logische Unstimmigkeiten im Code
  • Ueberprüft den Code auf die Einhaltung von Coding-Standards oder Stilrichtlinien
  • Weist auf bewährte Methoden und Muster hin, um die Qualität und Lesbarkeit des Codes zu verbessern

Empfohlene Einstellungen:

cargo clippy --fix -- \
-W clippy::pedantic \
-W clippy::nursery \
-W clippy::unwrap_used \
-W clippy::expect_used

rustfmt

rustfmt ist ein Formatter, der den Quellcode eines Programms automatisch neu formatiert.

  • Einhaltung von Stilrichtlinien und Konventionen
  • Lesbarerer Code
  • Konsistenter Code-Stil

Rustdoc

rustdoc generiert automatisch Dokumentation aus Doc-Comments (diese werden mit /// geschrieben).

  • Einheitliche Dokumentation
  • Dokumentierter Code
  • Keine Dokumentations Redundanz
  • Automatische Dokumentations Webseite in einheitlichem Stil

Weitere Informationen im Rustdoc Book.

Bacon

Bacon ist ein Interaktiver rust code checker.