Lewati ke konten

Komentar di Rust

Komentar adalah catatan yang kamu tinggalkan di dalam kode untuk dibaca manusia. Rust sepenuhnya mengabaikannya saat meng-compile, jadi komentar tidak pernah memengaruhi cara programmu berjalan. Komentar yang baik menjelaskan kenapa kode melakukan sesuatu, bukan cuma apa yang dilakukannya.

Komentar yang paling umum diawali dengan //. Semua yang ada setelah // di baris itu akan diabaikan:

fn main() {
// Ini komentar, Rust melewatinya sepenuhnya
println!("Halo!"); // komentar juga bisa ditaruh di akhir baris
}

Output:

Halo!
▶ Coba sendiri

Untuk catatan yang lebih panjang, kamu bisa mengawali setiap barisnya dengan //:

fn main() {
// Program ini menyapa pengguna.
// Program ini mencetak satu baris teks.
// Ditulis sebagai contoh pertama.
println!("Halo!");
}

Output:

Halo!
▶ Coba sendiri

Rust juga mendukung komentar blok (block comment) di antara /* dan */, yang bisa membentang beberapa baris:

fn main() {
/*
Ini komentar blok.
Komentar ini bisa mencakup beberapa baris
tanpa perlu // di setiap barisnya.
*/
println!("Halo!");
}

Output:

Halo!
▶ Coba sendiri

Dalam praktiknya, kebanyakan kode Rust tetap memakai // bahkan untuk beberapa baris. Itu sudah jadi kebiasaan di komunitas, dan cocok dengan shortcut di editor.

Komentar berguna untuk mematikan sebuah baris sementara selagi kamu menguji sesuatu:

fn main() {
println!("Baris ini dijalankan");
// println!("Baris ini dimatikan dulu untuk sementara");
}

Output:

Baris ini dijalankan
▶ Coba sendiri

Komentar yang hanya mengulang isi kode tidak menambah apa-apa. Kodenya sendiri sudah memberi tahu apa yang terjadi. Komentar yang baik menjelaskan kenapa, atau memperingatkan tentang sesuatu yang tidak terlihat oleh pembaca:

fn main() {
let minutes = 135;
// Timer hanya menampilkan jam penuh. Pembagian bilangan bulat
// membuang sisanya, dan itu memang yang kita mau di sini.
let hours = minutes / 60;
let leftover = minutes - hours * 60; // menit yang tidak sampai satu jam penuh
println!("{hours} jam {leftover} menit");
}

Output:

2 jam 15 menit
▶ Coba sendiri

Bandingkan dengan komentar seperti // bagi menit dengan 60. Memang benar, tapi siapa pun bisa membaca minutes / 60. Informasi yang berguna adalah kenapa pembagian itu aman dilakukan di sini.

Beberapa kebiasaan lain yang layak kamu tiru:

  • Jaga komentar tetap sesuai dengan kode. Komentar yang sudah tidak cocok dengan kodenya lebih buruk daripada tidak ada komentar sama sekali, karena orang akan memercayainya.
  • // TODO: adalah cara umum untuk menandai pekerjaan yang belum selesai, misalnya // TODO: tangani bilangan negatif. Banyak editor menyorotnya dan bisa menampilkan daftar semua TODO di sebuah proyek.
  • Komentar blok di Rust bisa bersarang. Tidak seperti di C, kamu bisa membungkus kode yang sudah berisi komentar /* */ dengan komentar blok lain, dan hasilnya tetap jalan:
fn main() {
/* Dimatikan dulu untuk sementara:
println!("sapaan lama"); /* menyapa semua orang */
*/
println!("sapaan baru");
}

Output:

sapaan baru
▶ Coba sendiri

Rust punya jenis komentar khusus yang diawali dengan /// (tiga garis miring). Ini disebut doc comment. Doc comment menjelaskan fungsi, dan Rust bisa mengubahnya menjadi situs dokumentasi yang bisa dijelajahi lewat cargo doc.

/// Menjumlahkan dua angka dan mengembalikan hasilnya.
fn add(a: i32, b: i32) -> i32 {
a + b
}

Sebagai pemula, kamu belum butuh doc comment. Cukup tahu bahwa /// dipakai untuk dokumentasi, sedangkan // untuk catatan biasa. Kalau kamu sudah siap, halaman Dokumentasi menunjukkan cara menulisnya, mem-build dokumentasinya, bahkan mengubah contoh-contohnya menjadi test.

Program ini mencetak tiga baris. Jadikan baris tengahnya komentar supaya hanya Baris 1 dan Baris 3 yang dicetak. Petunjuk: taruh // di awal baris yang ingin kamu matikan.

fn main() {
println!("Baris 1");
println!("Baris 2");
println!("Baris 3");
}
Lihat solusi
fn main() {
println!("Baris 1");
// println!("Baris 2");
println!("Baris 3");
}

Output:

Baris 1
Baris 3
▶ Coba sendiri

Sekarang cetak Baris 1 sampai Baris 4, tapi pakai satu komentar blok saja untuk mematikan baris 2 dan 3. Petunjuk: mulai komentarnya dengan /* sebelum baris 2 dan akhiri dengan */ setelah baris 3.

Lihat solusi
fn main() {
println!("Baris 1");
/*
println!("Baris 2");
println!("Baris 3");
*/
println!("Baris 4");
}

Output:

Baris 1
Baris 4
▶ Coba sendiri
  • Komentar adalah catatan yang diabaikan Rust; pakai untuk menjelaskan kodemu.
  • // mengawali komentar satu baris (jenis yang paling umum).
  • /* ... */ adalah komentar blok untuk beberapa baris, dan komentar blok bisa bersarang.
  • Komentar yang baik menjelaskan kenapa, bukan hal yang sudah jelas dari kodenya.
  • /// adalah doc comment yang dipakai untuk membuat dokumentasi.

Kuis singkat

1. Apa yang dilakukan Rust terhadap komentar saat meng-compile kodemu?

2. Untuk apa doc comment /// dipakai?

Skor: 0 / 2