Codebase refactor ideas
- Vorherrschende Sprache
- Rust
- Sterne
- 21
- Forks
- 7
- PR-Merge-Kennzahlen
- Keine gemergten PRs in 30 T.
Beschreibung
Low priority ideas to improve things.
- Stop manually generating GJ features within "application logic". Write type-safe structs and use `geojson::ser` annotations on geometry, then in the wasm `lib.rs` layer, do the actual serializing. Ideally this could also hook into https://github.com/Aleph-Alpha/ts-rs or similar to generate `wasm.ts` on the other end, rather than manually writing it.
- Try replacing lots of network representation and routing logic with https://github.com/a-b-street/15m/tree/main/graph. That upstream library would have to be generalized for modal filters and turn restrictions. It's certainly going to be faster to initially iterate on those things directly in this codebase.
Beitragsleitfaden
Für dieses Repository ist kein Beitragsleitfaden indexiert
Rechercherichtung
Die Issue beschreibt zwei große architektonische Änderungen: das Ersetzen der manuellen GeoJSON-Generierung durch typsichere Structs und die Verwendung von `geojson::ser` sowie das Ersetzen der Netzwerkdarstellung durch eine Upstream-Graphbibliothek. Beginne damit, die aktuelle 'Anwendungslogik', die GJ-Features generiert, und `lib.rs` in der wasm-Schicht zu untersuchen. Für die Graphänderung überprüfe die aktuelle Netzwerk- und Routinglogik sowie die Bibliothek `a-b-street/15m`, um den Umfang der Integration zu verstehen. „Erledigt“ bedeutet, dass beide Refactorings implementiert und integriert sind, ohne bestehende Funktionalität zu beeinträchtigen.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Bewertung
- Tech-Stack
- rust, wasm
- Bereich
- backend, tooling
- Issue-Typ
- Refactoring
- Schwierigkeit
- 5/5
- Geschätzter Aufwand
- Über eine Woche
- Aktivitätsstatus
- Veraltet
- Klarheit
- Größtenteils klar
- Anfängerfreundlichkeit
- 25/100