Annotationer

Annotationer

> LeekScript

I øjeblikket findes der 7 annotationer. De kan sættes foran en funktion eller en metode for at angive ekstra information. De gælder også for lokale variabler, globale variabler og klasser. I editoren vises dokumentationen for hver annotation, når man holder musen over den.

Hvordan bruger man annotationer?

For at bruge en annotation kan du skrive:

eller

Annotationer kan også kombineres:

De eksisterende annotationer

@deprecated

En funktion eller metode, der er annoteret med @deprecated, viser en advarsel ved kompilering, når den kaldes. Det angiver, at funktionen ikke længere bør bruges, og at den vil blive fjernet senere.

For eksempel:

@todo

En funktion eller metode, der er annoteret med @todo, indsætter en advarsel af typen todo ved kompilering for at angive, at den ikke er færdig.

@unused

En funktion eller metode, der er annoteret med @unused, udsender ingen advarsel, hvis den ikke bruges. Det er især nyttigt i streng tilstand, hvis funktionen er implementeret, men koden ikke kalder den.

For eksempel:

Bemærk: Hvis man sætter _ foran et navn (fx var _resultat), fjernes advarslen "bruges ikke" allerede, uden annotation.

@nodiscard

En funktion eller metode, der er annoteret med @nodiscard, viser en advarsel, hvis dens returværdi ikke bruges.

@pure

I øjeblikket har @pure samme effekt som @nodiscard. @pure indebærer dog mere:

En ren funktion må ikke ændre tilstand og må ikke have sideeffekter. Det vil sige, at den ikke må ændre variabler uden for sit scope, og at den skal være deterministisk (ingen random).

@override

En metode, der er annoteret med @override, fortæller udvikleren, at den ændrer implementeringen af en metode fra forældreklassen.

For eksempel:

@tailrec

En funktion eller metode, der er annoteret med @tailrec, angiver, at den er halerekursiv: det betyder, at funktionen er rekursiv, og at det rekursive kald er den sidste instruktion i funktionen.

Denne annotation kan være nyttig for compileren, men bruges i øjeblikket aldrig.