Nommage
La convention de nommage employée par la bibliothèque standard est de facto le standard pour le nommage des éléments des programmes écrits en Rust. Un effort a été fait pour formaliser ces conventions de nommage, d'abord dans la RFC 430, puis dans le document des bonnes pratiques Rust.
La règle de base (C-CASE) consiste à utiliser :
UpperCamelCasepour les types, traits, variants d'énumérations et paramètres génériques de type ;snake_casepour les fonctions, méthodes, macros, variables et modules ;SCREAMING_SNAKE_CASEpour les variables statiques, les constantes et les paramètres génériques constants ;'lowercasepour les durées de vie (lifetimes).
Les bonnes pratiques Rust recommandent également des conventions de nommage plus précises pour certaines constructions particulières :
(C-CONV)pour les méthodes de conversion (as_,to_,into_) ;(C-GETTER)pour les accesseurs ;(C-ITER)pour les méthodes produisant des itérateurs ;(C-ITER-TY)pour les types itérateur ;(C-FEATURE)pour les noms de features (fonctionnalités activables par configuration) ;(C-WORD-ORDER)pour la cohérence sur l'ordre des mots.
Les règles de base sont vérifiées par le compilateur (jeu d'avertissements nonstandard_style).
En complément du compilateur, l'outil clippy permet de faciliter l'adoption des conventions de nommage usuelles à travers la catégorie style.
Par exemple, la vérification wrong_self_convention contrôle la cohérence entre les noms des méthodes de conversion et le type du receveur (self, &self, &mut self), suivant (C-CONV).
Le développement d'une application sécurisée DOIT suivre les conventions de nommage décrites dans les bonnes pratiques Rust.
Références
- General naming conventions (RFC-430)
- Rust API Guidelines (rust-guidelines)