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 rust-guidelines.
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 rust-guidelines 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 rust-guidelines.
Références
- General naming conventions (RFC-430)
- Rust API Guidelines (rust-guidelines)