Saat proyek membesar, kode perlu dipecah ke beberapa modul.
Contoh sederhana:
mod matematika {
pub fn tambah(a: i32, b: i32) -> i32 {
a + b
}
}pub berarti fungsi bisa diakses dari luar modul.
Kamu bisa memindahkan modul ke file terpisah agar kode lebih rapi. Dalam proyek yang lebih besar, kamu akan sering memakai:
src/lib.rssrc/main.rs- folder modul
Rust punya dukungan testing bawaan.
fn tambah(a: i32, b: i32) -> i32 {
a + b
}
#[cfg(test)]
mod tests {
use super::*;
#[test]
fn test_tambah() {
assert_eq!(tambah(2, 3), 5);
}
}Jalankan dengan:
cargo testcargo fmtuntuk format kodecargo clippyuntuk saran kualitascargo docuntuk membangun dokumentasi API
Setelah materi ini, kamu bisa lanjut ke:
- traits dan generics
- lifetimes
- iterator
- smart pointers
- async Rust
- Axum atau Actix untuk backend
- SQLx atau Diesel untuk database
- Buat modul
utilyang memiliki fungsisapa. - Buat satu fungsi matematika dan test untuk fungsi tersebut.
- Jalankan
cargo test. - Jalankan
cargo fmtdancargo clippy.
Refactor salah satu contoh sebelumnya menjadi:
- satu modul untuk model data
- satu modul untuk logika
- test minimal satu kasus sukses dan satu kasus gagal