Frage

Ich bin neu in R und eine harte Zeit Zusammenstückeln Informationen aus verschiedenen Quellen, die Online in Bezug auf, was als eine „gute“ Praxis mit R Code zu schreiben. Ich habe grundlegende Führer lesen, aber ich habe eine harte Zeit wurde mit der Suche nach Informationen, die bisher auf jeden Fall nach oben.

  1. Was sind einige Beispiele für gut geschrieben / dokumentiert S3 Klassen?
  2. Wie wäre es S4 Klassen entsprechen?
  3. Was Konventionen tun verwenden Sie, wenn .R Klassen kommentieren / Funktionen? Haben Sie alle Ihre Kommentare in beiden .rd Dateien und .R Dateien setzen? Ist die Synchronisation dieser Dateien ermüdend?
War es hilfreich?

Lösung

Ob S3 zu verwenden, S4, oder ein Paket überhaupt ist vor allem eines Stil Problem (wie Dirk sagt), aber ich würde vorschlagen, einen von denen zu verwenden, wenn Sie ein sehr gut strukturierten Objekt haben wollen (wie würden Sie in jede OOP-Sprache). Zum Beispiel alle Zeitreihen Klassen haben Zeitreihenobjekte (ich glaube, dass sie alle S3 mit Ausnahme sind seine ), weil es ihnen erlaubt, um den Bau und die Nutzung dieser Objekte ein bestimmtes Verhalten zu erzwingen . Ähnlich ist es mit der Frage nach Erstellen eines Pakets: es ist eine gute Idee, dies zu tun, wenn Sie wird die Wiederverwendung von Code häufig oder wenn der Code nützlich sein wird, an jemand anderen. Es erfordert ein wenig mehr Aufwand, aber die zusätzliche Organisationsstruktur kann leicht für die Kosten machen.

In Bezug auf S3 vs. S4 (diskutiert auf R-Help hier und hier ) , die grundlegende Richtlinie ist, dass S3 Klassen mehr sind "quick and dirty" , während S4 Klassen setzen mehr starre Kontrolle über Objekte und Typen . Wenn Sie auf Bioconductor arbeiten, werden Sie in der Regel S4 (siehe zum Beispiel "S4 Klassen und Methoden" ).

Ich würde empfehlen, einige der folgenden lesen:

  1. "A (Not So) Kurze Einführung in die S4" von Christophe Genolini
  2. "Programmierer Nische: Eine einfache Klasse, in S3 und S4" von Thomas Lumley
  3. "Brobdingnag: a '' Hallo Welt '' Paket mit S4 Methoden "von Robin KS Hankin
  4. "Konvertieren von Paketen zu S4" von Douglas Bates
  5. "Wie S4 Methoden Work" von John Chambers

Für die Dokumentation, Hadley Vorschlag ist vor Ort auf: Roxygen Leben leichter macht und legt die Dokumentation direkt neben dem Code. Abgesehen davon, können Sie noch andere Kommentare im Code zur Verfügung stellen möchten über was Roxygen oder die man-Dateien benötigen, in diesem Fall ist es eine gute Praxis ist für andere Entwickler Ihren Code zu kommentieren. Diese Kommentare werden nicht nach oben in Ihrem Paket beenden; sie werden nur im Quellcode sichtbar sein.

Andere Tipps

3. Verwenden Sie roxygen -. Es funktioniert wie javadoc nehmen Kommentare in Ihren Quelldateien und Build-Dateien Rd

Das ist ein halbes Dutzend oder mehr Fragen zu einem gebündelt, was es schwierig macht, zu beantworten.

Lassen Sie sich also von innen ausprobieren: Erster Versuch Ihrer RODBC Wrapper Problem zu lösen. Eine Code-Darstellung wird selbst vorschlagen. Ich würde mit einfachen Funktionen starten, und dann vielleicht ein Paket um ihn herum bauen. Die bereits gibt Ihnen eine Verkapselung.

Ein Großteil des Restes ist Stil. Einige prominente R-Codes schwören auf S4, während andere über sie schwören. Sie können jederzeit die Pakete von anderen sowie Code in R selbst lesen. Und Sie können immer neu implementieren Ihre RODBC Wrapper auf unterschiedliche Weise und das vergleichen Sie Ihre eigene Ansätze.

Edit: Reflecting Sie aktualisiert und stark verkürzt Frage: einige Pakete von CRAN Auswahl, insbesondere bei denen, die Sie verwenden. Ich denke, Sie werden schnell einige mehr oder weniger interessant nach Ihren Stil finden.

etwas mehr Stil als Substanz bezogen, aber die Google R Style Guide ist lesenswert:

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top