Consider S3 classes for strategy / metric objects
I maintainer di solito rispondono entro 1 giorno
Nessuno ha ancora preso questa issue.
Valutazione
- Difficoltà
- 5/5
- Tempo stimato
- Più di una settimana
- Idoneità per principianti
- 30/100
- Tipo di issue
- Refactoring
- Chiarezza
- Da chiarire
- Stato di attività
- Tranquilla
- Stack tecnologico
- r
- Ambito
- backend-api-design
Direzione di ricerca
Inizia esaminando PR #1156 e i punti di ingresso filter_scores(), impute_missing_scores() e score(). Confronta i loro attuali controlli dei nomi formali e gli input di strategia/metrica, quindi considera in che modo validatori, costruttori, coercizione e metodi di stampa influirebbero sugli oggetti definiti dall’utente. Il lavoro è completo quando è stata raggiunta e documentata una decisione in merito al fatto che entrambi i concetti debbano diventare classi S3 e che la migrazione debba essere condivisa o incrementale.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
Spun off from review of PR #1156.
In that PR we introduced a strategy-function-factory pattern for `filter_scores()` and `impute_missing_scores()`. @sbfnk raised (reasonably) that the entry functions accept any function and only check its formals, and suggested making the strategy an S3 class with type-checking.
We agreed in the PR discussion that this is a wider-scoped question:
- The existing `metrics` argument in `score()` has the same shape (list of named functions) and is not an S3 class either.
- If we adopt S3 here, we should decide whether to apply the same pattern to metrics for consistency.
What to decide:
- Is there value in formalising "strategy" and "metric" as S3 classes with validators, or is the current formal-name check sufficient?
- If yes, should both change together or is incremental migration OK?
- What about user-defined strategies/metrics — constructors, coercion, print methods?
Not blocking PR #1156. Opening this for follow-up discussion.
This was opened by a bot. Please ping @seabbs for any questions.
- Lingua principale
- R
- Stelle
- 65
- Fork
- 24
- Merge medio
- 1h 24m
- PR unite (30g)
- 2
Preparare l'ambiente
Avvia il container di sviluppo del progetto nel browser, con il tuo account GitHub.
- Nessun Dockerfile né file Docker Compose
- Ha un modello di pull request
- Leggi la guida per i contributori
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di epiforecasts/scoringutils
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 88/100
epiforecasts/scoringutils#1264 ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 76/100
epiforecasts/scoringutils#1265 ·
I maintainer di solito rispondono entro 1 giorno
-
Non-randomised PIT for integer forecasts drops forecasts whose observation exceeds all samplesAperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 82/100
epiforecasts/scoringutils#1260 ·
I maintainer di solito rispondono entro 1 giorno
-
Incorrect guidance in `NEWS.md` re `add_relative_skill()`?Forse già presa @nikosbosse l’ha presa 3 giorni fa. Apertabug
Difficoltà 2/5 1-3 ore Idoneità per principianti 68/100
epiforecasts/scoringutils#1226 · 1 commento · 2 reazioni ·
I maintainer di solito rispondono entro 1 giorno
-
get_pit_histogram(): unsorted breaks produce negative densities; num_bins = 1 returns an empty tableForse già presa @nikosbosse l’ha presa 3 giorni fa. Apertabug
Difficoltà 2/5 1-3 ore Idoneità per principianti 68/100
epiforecasts/scoringutils#1219 ·
I maintainer di solito rispondono entro 1 giorno
Tutte le issue di epiforecasts/scoringutils
Issue simili
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 68/100
waldronlab/bugphyzz#301 ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 62/100
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
r-lib/tree-sitter-r#209 ·
-
Suggest rmoriebricklayerAperta
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 67/100
-
Suggest rmoriebricklayerAperta
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 79/100
cran-task-views/CausalInference#52 · 1 commento ·