Anotasi

Anotasi

> LeekScript

Saat ini ada 7 anotasi. Anotasi dapat digunakan di depan sebuah fungsi atau metode untuk memberikan informasi tambahan. Anotasi juga berlaku untuk variabel lokal, variabel global, dan kelas. Di editor, dokumentasi setiap anotasi ditampilkan saat kursor diarahkan ke atasnya.

Bagaimana cara menggunakan anotasi?

Untuk menggunakan anotasi, Anda dapat menulis:

atau

Anotasi juga dapat digabungkan:

Anotasi yang tersedia

@deprecated

Fungsi atau metode yang diberi anotasi @deprecated menampilkan peringatan saat kompilasi ketika dipanggil. Ini menandakan bahwa fungsi tersebut tidak boleh lagi digunakan dan akan dihapus di kemudian hari.

Contoh:

@todo

Fungsi atau metode yang diberi anotasi @todo menyisipkan peringatan bertipe todo saat kompilasi untuk menandakan bahwa fungsi tersebut belum lengkap.

@unused

Fungsi atau metode yang diberi anotasi @unused tidak akan memunculkan peringatan jika tidak digunakan. Ini sangat berguna dalam mode ketat jika fungsi sudah diimplementasikan tetapi tidak dipanggil oleh kode.

Contoh:

Perlu dicatat: memberi awalan _ pada sebuah nama (misalnya var _resultat) sudah menghilangkan peringatan « tidak digunakan », tanpa anotasi.

@nodiscard

Fungsi atau metode yang diberi anotasi @nodiscard akan menampilkan peringatan jika nilai kembaliannya tidak digunakan.

@pure

Saat ini, @pure memiliki efek yang sama dengan @nodiscard. Namun, @pure menyiratkan lebih banyak hal:

Fungsi murni tidak boleh mengubah state dan tidak boleh memiliki efek samping. Artinya, fungsi tersebut tidak boleh memodifikasi variabel di luar scope-nya, dan harus deterministik (tanpa random).

@override

Metode yang diberi anotasi @override memberi tahu pengembang bahwa metode tersebut mengubah implementasi sebuah metode dari kelas induk.

Contoh:

@tailrec

Fungsi atau metode yang diberi anotasi @tailrec menandakan bahwa fungsi tersebut tail recursive: artinya fungsi tersebut rekursif dan pemanggilan rekursifnya adalah instruksi terakhir dari fungsi.

Anotasi ini dapat berguna bagi kompilator, tetapi saat ini tidak pernah digunakan.