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 satu baris
Section titled “Komentar satu baris”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!Komentar beberapa baris
Section titled “Komentar beberapa baris”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!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!Dalam praktiknya, kebanyakan kode Rust tetap memakai // bahkan untuk beberapa baris. Itu sudah jadi kebiasaan di komunitas, dan cocok dengan shortcut di editor.
Menonaktifkan kode dengan komentar
Section titled “Menonaktifkan kode dengan komentar”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 dijalankanMenulis komentar yang membantu
Section titled “Menulis komentar yang membantu”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 menitBandingkan 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 baruDoc comment (komentar dokumentasi)
Section titled “Doc comment (komentar dokumentasi)”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.
Latihan
Section titled “Latihan”1. Matikan satu baris
Section titled “1. Matikan satu baris”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 1Baris 32. Matikan dua baris sekaligus
Section titled “2. Matikan dua baris sekaligus”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 1Baris 4Ringkasan
Section titled “Ringkasan”- 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
Section titled “Kuis singkat”Kuis singkat
1. Apa yang dilakukan Rust terhadap komentar saat meng-compile kodemu?
2. Untuk apa doc comment /// dipakai?
Skor: 0 / 2
Bacaan lebih lanjut
Section titled “Bacaan lebih lanjut”- Comments — The Rust Book (bahasa Inggris): bagian resmi yang singkat tentang komentar
//dan di mana biasanya komentar ditulis. - Comments — Rust by Example (bahasa Inggris): semua gaya komentar dalam satu contoh yang bisa dijalankan, termasuk komentar blok di dalam sebuah expression.
- Making Useful Documentation Comments — The Rust Book (bahasa Inggris): perkenalan pertama dengan
///dan//!, serta caracargo docmemakainya. - How to write documentation — The rustdoc book (bahasa Inggris): saran tentang isi doc comment yang baik, untuk saat kamu menulis library.
- Comments — The Rust Reference (bahasa Inggris): aturan yang persis, termasuk komentar blok bersarang.