La documentació és una part essencial del desenvolupament de programari, ja que ajuda a altres desenvolupadors (i a tu mateix en el futur) a comprendre el codi, les seves funcionalitats i com utilitzar-lo. Rust proporciona eines potents per crear documentació de manera eficient i integrada amb el codi.
- Comentaris de Documentació
Rust utilitza comentaris especials per generar documentació. Aquests comentaris es col·loquen just abans de l'element que es vol documentar (funcions, structs, mòduls, etc.) i comencen amb tres barres (///
).
Exemple de Comentaris de Documentació
/// Aquesta funció suma dos nombres enters. /// /// # Arguments /// /// * `a` - Un nombre enter. /// * `b` - Un altre nombre enter. /// /// # Retorna /// /// La suma de `a` i `b`. fn suma(a: i32, b: i32) -> i32 { a + b }
Explicació
///
indica que el text següent és un comentari de documentació.- La secció
# Arguments
descriu els paràmetres de la funció. - La secció
# Retorna
descriu el valor de retorn de la funció.
- Generació de Documentació amb
rustdoc
rustdoc
Rust inclou una eina anomenada rustdoc
que genera documentació HTML a partir dels comentaris de documentació del codi.
Com Generar Documentació
- Navega al directori del teu projecte.
- Executa la següent comanda:
Aquesta comanda generarà la documentació i l'obrirà en el teu navegador web per a la seva visualització.
- Documentació de Mòduls
Els mòduls també poden ser documentats utilitzant comentaris de documentació. Aquests comentaris es col·loquen just abans de la declaració del mòdul.
Exemple de Documentació de Mòduls
/// Aquest mòdul conté funcions matemàtiques bàsiques. pub mod matematiques { /// Aquesta funció suma dos nombres enters. pub fn suma(a: i32, b: i32) -> i32 { a + b } /// Aquesta funció resta dos nombres enters. pub fn resta(a: i32, b: i32) -> i32 { a - b } }
- Proves de Documentació
Rust permet incloure exemples de codi dins dels comentaris de documentació, que es poden executar com a proves per assegurar-se que els exemples funcionen correctament.
Exemple de Proves de Documentació
/// Aquesta funció multiplica dos nombres enters. /// /// # Exemple /// /// ``` /// let resultat = multiplica(2, 3); /// assert_eq!(resultat, 6); /// ``` fn multiplica(a: i32, b: i32) -> i32 { a * b }
Executar Proves de Documentació
Per executar les proves de documentació, utilitza la següent comanda:
Aquesta comanda executarà totes les proves, incloent les proves de documentació.
- Enllaços i Format de la Documentació
Rust permet utilitzar enllaços i formatar el text dins dels comentaris de documentació per fer-los més llegibles i útils.
Exemple d'Enllaços i Format
/// Aquesta funció divideix dos nombres enters. /// /// # Arguments /// /// * `a` - Un nombre enter. /// * `b` - Un altre nombre enter. /// /// # Retorna /// /// La divisió de `a` per `b`. /// /// # Panics /// /// Aquesta funció farà `panic` si `b` és zero. /// /// # Exemple /// /// ``` /// let resultat = divideix(6, 3); /// assert_eq!(resultat, 2); /// ``` /// /// Per més informació, consulta la [documentació oficial de Rust](https://doc.rust-lang.org). fn divideix(a: i32, b: i32) -> i32 { if b == 0 { panic!("No es pot dividir per zero!"); } a / b }
Exercici Pràctic
Exercici
Crea una funció anomenada potencia
que calculi la potència d'un nombre enter elevat a un altre nombre enter. Documenta la funció utilitzant comentaris de documentació, incloent una descripció, els arguments, el valor de retorn, un exemple i una secció de panics si és necessari.
Solució
/// Aquesta funció calcula la potència d'un nombre enter elevat a un altre nombre enter. /// /// # Arguments /// /// * `base` - El nombre base. /// * `exponent` - L'exponent al qual s'eleva la base. /// /// # Retorna /// /// La potència de `base` elevat a `exponent`. /// /// # Exemple /// /// ``` /// let resultat = potencia(2, 3); /// assert_eq!(resultat, 8); /// ``` /// /// # Panics /// /// Aquesta funció farà `panic` si l'exponent és negatiu. fn potencia(base: i32, exponent: i32) -> i32 { if exponent < 0 { panic!("L'exponent no pot ser negatiu!"); } let mut resultat = 1; for _ in 0..exponent { resultat *= base; } resultat }
Conclusió
La documentació és una part crucial del desenvolupament de programari, i Rust proporciona eines potents per crear documentació clara i útil. Utilitzant comentaris de documentació, rustdoc
i proves de documentació, pots assegurar-te que el teu codi és ben documentat i fàcil de comprendre per altres desenvolupadors.