NCAS-CMS / NCAS-CMS/cf-python

Object equality: doctest-able examples covering special cases

Aperta
#299 0 commenti 0 reazioni 0 assegnatari Vedi su GitHub

Nessuno ha ancora preso questa issue.

documentation
Lingua principale
Python
Stelle
150
Fork
23
Merge medio
1g 11h
PR unite (30g)
2

Descrizione

There is a lack of concrete examples in the API reference across the equals methods available on the various construct and data objects (see e.g. the end of the references here and here) so during #254 we agreed it would be good to add in a good range of examples, ideally eventually doctest-able (i.e. inclusive of set-up of the objects referred to), which in the process of verifying and documenting should enable us to ensure behaviour is known and consistent in relation to such aspects as:

  • management of self-equality (a.equals(a)) and whether to short-circuit on copies (a.equals(a.copy()));
  • handling of subtleties of data (including relevant keywords to toggle these), e.g: how to deal with masked arrays, NaN values, different data types with equivalent data, compression etc.;
  • handling of potential subtleties of metadata (not explored so much as with the above in #254, but I don't doubt there are some).

Guida per i contributori

Apri la guida per i contributori

Come iniziare

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Direzione di ricerca

Esamina prima i riferimenti all’API equals collegati nell’issue e le decisioni di #254. Fai un inventario dei metodi equals dei costrutti e degli oggetti dati, quindi definisci esempi doctest-able che coprano l’uguaglianza con sé stessi, le copie, gli array mascherati, i valori NaN, i tipi di dati, la compressione e i metadati. Il lavoro è completato quando gli esempi documentati possono essere eseguiti come doctests e i comportamenti rilevanti sono espliciti e coerenti.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Valutazione

Stack tecnologico
python
Ambito
documentation, testing-qa
Tipo di issue
Documentazione
Difficoltà
4/5
Tempo stimato
3-5 giorni
Stato di attività
Ferma
Chiarezza
Abbastanza chiara
Idoneità per principianti
45/100

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.