Annotationen

Annotationen

> LeekScript

Derzeit gibt es 7 Annotationen. Sie können vor einer Funktion oder Methode stehen, um eine zusätzliche Information anzugeben. Sie gelten auch für lokale Variablen, globale Variablen und Klassen. Im Editor wird die Dokumentation jeder Annotation beim Überfahren mit der Maus angezeigt.

Wie verwendet man Annotationen?

Um eine Annotation zu verwenden, kannst du schreiben:

oder

Annotationen lassen sich auch kombinieren:

Die vorhandenen Annotationen

@deprecated

Eine mit @deprecated annotierte Funktion oder Methode zeigt beim Kompilieren eine Warnung an, wenn sie aufgerufen wird. Das bedeutet, dass die Funktion nicht mehr verwendet werden soll und später entfernt wird.

Zum Beispiel:

@todo

Eine mit @todo annotierte Funktion oder Methode fügt beim Kompilieren eine Warnung vom Typ todo ein, um anzuzeigen, dass sie nicht vollständig ist.

@unused

Eine mit @unused annotierte Funktion oder Methode gibt keine Warnung aus, wenn sie nicht verwendet wird. Das ist besonders im strengen Modus nützlich, wenn die Funktion implementiert ist, aber vom Code nicht aufgerufen wird.

Zum Beispiel:

Hinweis: Ein Name mit dem Präfix _ (zum Beispiel var _resultat) unterdrückt die Warnung „nicht verwendet“ bereits ohne Annotation.

@nodiscard

Eine mit @nodiscard annotierte Funktion oder Methode zeigt eine Warnung an, wenn ihr Rückgabewert nicht verwendet wird.

@pure

Derzeit hat @pure dieselbe Wirkung wie @nodiscard. Allerdings bedeutet @pure mehr:

Eine reine Funktion darf keinen Zustand verändern und keine Seiteneffekte haben. Das heißt, sie darf keine Variablen außerhalb ihres Gültigkeitsbereichs verändern und muss deterministisch sein (kein random).

@override

Eine mit @override annotierte Methode zeigt dem Entwickler an, dass sie die Implementierung einer Methode der Elternklasse ändert.

Zum Beispiel:

@tailrec

Eine mit @tailrec annotierte Funktion oder Methode zeigt an, dass sie endrekursiv ist: Das bedeutet, dass die Funktion rekursiv ist und der rekursive Aufruf die letzte Anweisung der Funktion ist.

Diese Annotation kann für den Compiler nützlich sein, wird derzeit aber nie verwendet.