U
use-facet-crates
Guidelines for using facet crates (facet-json, facet-toml, figue) instead of serde-based alternatives for consistent dogfooding
Installation
Pick a client and clone the repository into its skills directory.
Installation
About this skill
Guidelines for using facet crates (facet-json, facet-toml, figue) instead of serde-based alternatives for consistent dogfooding
How to use
- Zapoznaj się z tabelą zamienników — każda biblioteka serde ma odpowiednik facet: facet zastępuje serde, facet-json zastępuje serde_json, facet-toml zastępuje toml, facet-yaml zastępuje serde_yaml, a figue zastępuje clap. 2. W nowym kodzie w workspace'ie preferuj facet-json zamiast serde_json — dotyczy to nowych narzędzi wewnętrznych i kodu, który nie wymaga kompatybilności z serde. 3. Zastąp derive macro — zmień #[derive(Serialize, Deserialize)] na #[derive(Facet)] i usuń import serde. 4. Zaktualizuj importy — zamiast use serde_json napisz use facet_json as json, a zamiast use serde::{{Serialize, Deserialize}} użyj use facet::Facet. 5. Przejrzyj Cargo.toml pod kątem zależności serde — jeśli dodajesz nową zależność lub przeglądasz kod, sprawdź czy można zastąpić biblioteki serde odpowiednikami facet, chyba że interoperacyjność z zewnętrznymi cratami tego wymaga. 6. Zaakceptuj serde_json tylko dla interoperacyjności z zewnętrznymi bibliotekami wymagającymi serde lub dla benchmarków porównujących wydajność facet versus serde.