R
rust-backend
Wytyczne kodowania Rust dla backendu Windmill – obowiązkowe przy pisaniu kodu w katalogu backend.
Instalacja
Wybierz klienta i sklonuj repozytorium do odpowiedniego katalogu skilli.
Instalacja
O skillu
Skill zawierający standardy i wzorce kodowania Rust stosowane w projekcie Windmill. Obejmuje praktyki obsługi błędów z użyciem Error i Result, optymalne zapytania SQLx bez SELECT *, efektywne operacje na JSON oraz optymalizacje Serde. Zastosuj te wytyczne pisząc lub modyfikując kod w katalogu backend, aby zapewnić spójność, wydajność i kompatybilność między wersjami API a workerami.
Jak używać
- Zainstaluj skill rust-backend w swoim środowisku Windmill – będzie dostępny jako referencja przy edycji kodu backendu.
- Przy pisaniu nowego kodu w katalogu backend/ importuj Error i Result z windmill_common::error zamiast panikowania – zawsze zwracaj Result<T, Error> lub JsonResult
. - Pisząc zapytania SQLx, zawsze wymieniaj kolumny jawnie (SELECT id, workspace_id, path) zamiast SELECT * – zapobiega to błędom kompatybilności gdy API wyprzedza wersję workerów.
- Dla operacji wieloetapowych używaj transakcji i parametryzowanych zapytań; unikaj N+1 poprzez batch operations z klauzulą IN.
- Przy obsłudze JSON preferuj Box<serde_json::value::RawValue> do przechowywania danych bez inspekcji; serde_json::Value używaj tylko gdy musisz modyfikować zawartość.
- W strukturach Serde dodawaj atrybuty #[serde(skip_serializing_if)] dla Option i Vec, aby zmniejszyć rozmiar serializowanych danych.