NCAS-CMS / NCAS-CMS/cf-python

Object equality: doctest-able examples covering special cases

Offen
#299 0 Kommentare 0 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen

Dieses Issue hat noch niemand übernommen.

documentation
Vorherrschende Sprache
Python
Sterne
150
Forks
23
Ø Merge
1 T. 11 Std.
Gemergte PRs (30 T.)
2

Beschreibung

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).

Beitragsleitfaden

Beitragsleitfaden öffnen

Erste Schritte

  1. Lies das ganze Issue und danach den Beitragsleitfaden des Projekts.
  2. Schreib ins Issue, dass du es übernimmst — das erspart doppelte Arbeit.
  3. Forke das Repository und arbeite in einem Branch.
  4. Öffne einen Pull Request, der die Issue-Nummer nennt.

Rechercherichtung

Prüfe zuerst die im Issue verlinkten equals-API-Referenzen und die Entscheidungen aus #254. Erstelle ein Inventar der equals-Methoden von Konstrukten und Datenobjekten und definiere anschließend doctest-able Beispiele für Selbstgleichheit, Kopien, maskierte Arrays, NaN-Werte, Datentypen, Kompression und Metadaten. Als abgeschlossen gilt die Aufgabe, wenn die dokumentierten Beispiele als doctests ausgeführt werden können und die relevanten Verhaltensweisen explizit und konsistent sind.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Bewertung

Tech-Stack
python
Bereich
documentation, testing-qa
Issue-Typ
Dokumentation
Schwierigkeit
4/5
Geschätzter Aufwand
3-5 Tage
Aktivitätsstatus
Veraltet
Klarheit
Größtenteils klar
Anfängerfreundlichkeit
45/100

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.