14 points par xguru 2021-01-04 | 1 commentaires | Partager sur WhatsApp

Récapitulatif des idiomes, design patterns et anti-patterns tirant parti des particularités et de la conception du langage Rust

Idiomes

  1. Concaténer des chaînes avec format!

  2. Constructeur

  3. Le trait Default

  4. Les collections sont des pointeurs intelligents

  5. Finalisation dans les destructeurs

  6. mem::replace(_)

  7. Dispatch dynamique sur la pile

  8. Itérer sur une Option

  9. Passer des variables à une closure

  10. Confidentialité pour l’extensibilité

  11. Initialisation facile de la documentation

  12. Mutabilité temporaire

Design Patterns

  1. Builder

  2. Composer des structs

  3. Fold

  4. Newtype

  5. Gardes RAII

  6. Préférer de petites crates

  7. Contenir l’unsafe dans de petits modules

  8. Visitor

Anti-patterns

  1. #[deny(warnings)]

  2. Polymorphisme via Deref

1 commentaires

 
xguru 2021-01-04

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.