Les design patterns de Rust
(rust-unofficial.github.io)Récapitulatif des idiomes, design patterns et anti-patterns tirant parti des particularités et de la conception du langage Rust
Idiomes
-
Concaténer des chaînes avec
format! -
Constructeur
-
Le trait
Default -
Les collections sont des pointeurs intelligents
-
Finalisation dans les destructeurs
-
mem::replace(_) -
Dispatch dynamique sur la pile
-
Itérer sur une
Option -
Passer des variables à une closure
-
Confidentialité pour l’extensibilité
-
Initialisation facile de la documentation
-
Mutabilité temporaire
Design Patterns
-
Builder
-
Composer des structs
-
Fold
-
Newtype
-
Gardes RAII
-
Préférer de petites crates
-
Contenir l’
unsafedans de petits modules -
Visitor
Anti-patterns
-
#[deny(warnings)] -
Polymorphisme via
Deref
1 commentaires
Une manière un peu plus simple de se familiariser avec les patterns Rust,
c’est, paraît-il, d’ajouter ceci au début du crate que l’on écrit :
#![warn(clippy::all)]
C’est une option qui active par défaut le linter de Rust afin de vérifier le code et d’afficher diverses recommandations.
https://github.com/rust-lang/rust-clippy
Ici, on peut voir que plus de 400 lints sont enregistrés.