MIT-LCP / MIT-LCP/wfdb-python

Better encapsulation of record metadata

Offen
#371 2 Kommentare 0 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen

Dieses Issue hat noch niemand übernommen.

Vorherrschende Sprache
Jupyter Notebook
Sterne
853
Forks
322
PR-Merge-Kennzahlen
Keine gemergten PRs in 30 T.

Beschreibung

Right now we have the Record class with a huge number of attributes in the top level object. These attributes are varied, fall into many categories, and become very hard to keep track of.

I also find it rather awkward that there is no separate 'header' or 'metadata' type of object. ie. rdheader and rdrecord both return the same type of object.

Initial idea:

  • RecordInfo class for storing all the header data. Includes record and signal specification fields, and comments. rdheader will create this type.
  • Same Record class for WFDB records. The info attribute will be a RecordInfo object.

Having the top level p_signal, d_signal attributes is not my favorite, but I feel like it's rather pointless to have another object to capture these fields.

Open to suggestions.

Beitragsleitfaden

Für dieses Repository ist kein Beitragsleitfaden indexiert

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

Beginne damit, die bestehende Record-Klasse sowie die im Issue genannten Einstiegspunkte rdheader und rdrecord zu lesen und zu erfassen, welche Top-Level-Attribute Header-, Signalspezifikations- und Kommentardaten darstellen. Definiere die vorgesehene RecordInfo-Grenze und prüfe, wie Aufrufer diese Attribute verwenden; abgeschlossen ist die Aufgabe, wenn der Vorschlag zur Kapselung konsistent ist und seine Auswirkungen auf beide Typen zurückgegebener Objekte dokumentiert sind.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Bewertung

Tech-Stack
python
Bereich
backend-api-design
Issue-Typ
Refactoring
Schwierigkeit
5/5
Geschätzter Aufwand
Über eine Woche
Aktivitätsstatus
Veraltet
Klarheit
Muss geklärt werden
Anfängerfreundlichkeit
25/100

Neue Issues direkt in Ihr Postfach

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