En Rust, la déclaration et l’utilisation des fonctions (functions) ainsi que la rédaction de commentaires (comments) sont des aspects fondamentaux du développement de logiciels. Rust encourage fortement la documentation et la clarté du code, ce qui inclut l’utilisation appropriée des commentaires pour expliquer le fonctionnement des fonctions, des modules et des autres éléments du code source. Voici un guide détaillé sur la manière d’écrire des fonctions et des commentaires en Rust :
Déclaration des fonctions (Functions) en Rust :
Pour déclarer une fonction en Rust, utilisez le mot-clé fn
, suivi du nom de la fonction, des paramètres entre parenthèses et du type de retour après une flèche ->
. Voici un exemple simple :

rustfn ma_fonction(parametre1: Type1, parametre2: Type2) -> TypeDeRetour {
// Corps de la fonction
}
Dans cet exemple :
fn
indique le début de la déclaration d’une fonction.ma_fonction
est le nom de la fonction.parametre1
etparametre2
sont les paramètres de la fonction, chacun étant suivi de son type.TypeDeRetour
est le type de valeur que la fonction retournera.- Le corps de la fonction est défini à l’intérieur des accolades
{}
.
Exemple concret :
rustfn ajouter(a: i32, b: i32) -> i32 {
return a + b;
}
Appel de fonctions :
Les fonctions en Rust sont appelées en utilisant leur nom suivi des arguments entre parenthèses. Par exemple :
rustlet resultat = ajouter(3, 5);
println!("Le résultat est : {}", resultat);
Commentaires en Rust :
Les commentaires en Rust peuvent être de deux types : les commentaires de ligne et les commentaires de bloc.
Commentaires de ligne :
Les commentaires de ligne commencent par //
et continuent jusqu’à la fin de la ligne. Ils sont utiles pour commenter une ligne de code ou ajouter des explications rapides. Par exemple :
rust// Ceci est un commentaire de ligne
let x = 5; // Initialisation de la variable x
Commentaires de bloc :
Les commentaires de bloc commencent par /*
et se terminent par */
. Ils peuvent couvrir plusieurs lignes de code et sont généralement utilisés pour commenter de grandes sections de code ou pour désactiver temporairement des parties du code. Voici un exemple :
rust/*
Ceci est un commentaire de bloc.
Il peut couvrir plusieurs lignes de code.
*/
Documentation de fonctions :
En plus des commentaires traditionnels, Rust offre une fonctionnalité de documentation intégrée appelée « doc comments » (commentaires de documentation). Ces commentaires commencent par ///
juste avant la déclaration de la fonction et peuvent être utilisés pour générer automatiquement une documentation à l’aide de l’outil rustdoc
. Voici un exemple :
rust/// Cette fonction ajoute deux nombres entiers.
///
/// # Arguments
///
/// * `a` - Le premier nombre entier.
/// * `b` - Le deuxième nombre entier.
///
/// # Exemples
///
/// ```
/// let resultat = ajouter(3, 5);
/// assert_eq!(resultat, 8);
/// ```
///
/// # Retour
///
/// La somme des deux nombres.
fn ajouter(a: i32, b: i32) -> i32 {
return a + b;
}
Ces commentaires spéciaux suivent une syntaxe précise qui permet à rustdoc
de générer une documentation propre et structurée.
En résumé, la déclaration et l’utilisation des fonctions ainsi que la rédaction de commentaires sont des pratiques essentielles en Rust pour écrire un code clair, concis et facilement compréhensible. Les commentaires bien écrits aident les développeurs à comprendre rapidement le fonctionnement du code, tandis que la documentation intégrée facilite la génération de documentation complète et professionnelle.
Plus de connaissances
Bien sûr, plongeons plus profondément dans la syntaxe des fonctions et des commentaires en Rust, ainsi que dans les bonnes pratiques associées.
Fonctions avec corps d’expression :
En Rust, les fonctions peuvent également avoir des corps d’expression, ce qui signifie que le résultat de la dernière expression évaluée dans la fonction est implicitement retourné. Cela permet de simplifier le code dans de nombreux cas. Par exemple :
rustfn multiplier(a: i32, b: i32) -> i32 {
a * b // Pas besoin d'écrire "return" explicitement
}
Fonctions sans retour :
Les fonctions en Rust peuvent ne pas retourner de valeur. Dans ce cas, le type de retour est spécifié comme ()
(prononcé « unit »). Cela correspond à ce que l’on pourrait considérer comme une fonction de type « procédure » dans d’autres langages. Exemple :
rustfn afficher_message() {
println!("Bonjour !");
}
Fonctions avec arguments variables :
Vous pouvez définir des fonctions prenant un nombre variable d’arguments en utilisant des tranches (slices). Cela est utile lorsque vous ne connaissez pas à l’avance le nombre d’arguments que la fonction recevra. Exemple :
rustfn afficher_liste(nombres: &[i32]) {
for &nombre in nombres {
println!("{}", nombre);
}
}
Commentaires pour la documentation externe :
En plus des commentaires intégrés dans le code source, Rust encourage également l’utilisation de commentaires pour la documentation externe. Ces commentaires spéciaux sont généralement placés au-dessus des éléments qu’ils documentent et utilisent une syntaxe similaire à celle des commentaires de documentation internes. Cependant, ils sont destinés à être lus par les utilisateurs du code plutôt que par les développeurs eux-mêmes. Exemple :
rust/// Cette fonction calcule la somme de deux nombres.
///
/// # Exemple
///
/// ```
/// let resultat = ajouter(3, 5);
/// assert_eq!(resultat, 8);
/// ```
///
/// # Arguments
///
/// * `a` - Le premier nombre entier.
/// * `b` - Le deuxième nombre entier.
///
/// # Retour
///
/// La somme des deux nombres.
fn ajouter(a: i32, b: i32) -> i32 {
a + b
}
Utilisation des commentaires pour désactiver du code :
Les commentaires peuvent également être utilisés pour désactiver temporairement du code. Cependant, cette pratique est généralement déconseillée, car elle peut entraîner l’accumulation de code inutilisé et non testé. Il est préférable d’utiliser un système de contrôle de version comme Git pour gérer les modifications de code. Exemple :
rust/*
fn code_inutilise() {
// Code temporairement désactivé
}
*/
Utilisation de l’outil rustdoc pour générer la documentation :
L’outil rustdoc
est utilisé pour générer la documentation à partir des commentaires de documentation intégrés dans le code Rust. Vous pouvez exécuter rustdoc
sur un fichier source ou un dossier entier contenant du code Rust pour générer une documentation HTML. Par exemple :
rustdoc mon_code.rs
Cela générera la documentation HTML à partir du fichier mon_code.rs
et la placera dans un dossier target/doc
.
En conclusion, en suivant les bonnes pratiques de Rust en matière de déclaration de fonctions et d’utilisation de commentaires, vous pouvez écrire un code clair, bien documenté et facilement maintenable. L’utilisation appropriée des commentaires, tant pour la documentation interne que pour la documentation externe, est essentielle pour rendre votre code compréhensible et utilisable par d’autres développeurs.