117 Stimmen

Was ist Ihr bevorzugter Stil für die Benennung von Variablen in R?

Welche Konventionen für die Benennung von Variablen und Funktionen bevorzugen Sie in R-Code?

Soweit ich das beurteilen kann, gibt es verschiedene Konventionen, die alle in kakophonischer Harmonie nebeneinander bestehen:

1. Verwendung des Punkttrennzeichens, z. B.

  stock.prices <- c(12.01, 10.12)
  col.names    <- c('symbol','price')

Vorteile: Hat einen historischen Präzedenzfall in der R-Gemeinschaft, ist im R-Kern weit verbreitet und wird von Google's R Style Guide .

Nachteile: Voller objektorientierter Konnotationen und verwirrend für R-Neulinge

2. Verwendung von Unterstrichen

  stock_prices <- c(12.01, 10.12)
  col_names    <- c('symbol','price')

Vorteile: Eine gängige Konvention in vielen Programmiersprachen; bevorzugt von Hadley Wickhams Style Guide und in den Paketen ggplot2 und plyr verwendet.

Nachteile: Wird von R-Programmierern historisch nicht verwendet; wird in Emacs-Speaks-Statistics ärgerlicherweise auf den Operator '<-' abgebildet (änderbar mit 'ess-toggle-underscore').

3. Verwendung von gemischter Großschreibung (camelCase)

  stockPrices <- c(12.01, 10.12)
  colNames    <- c('symbol','price')

Vorteile: Scheint in mehreren Sprachgemeinschaften weit verbreitet zu sein.

Nachteile: Hat einen aktuellen Präzedenzfall, wird aber nicht historisch verwendet (weder in der R-Base noch in der Dokumentation).

Als ob das nicht schon verwirrend genug wäre, sollte ich noch darauf hinweisen, dass der Google Style Guide für Variablen die Punktschreibweise, für Funktionen jedoch die gemischte Großschreibung empfiehlt.

Das Fehlen eines einheitlichen Stils in allen R-Paketen ist auf mehreren Ebenen problematisch. Vom Standpunkt eines Entwicklers aus betrachtet, macht es die Wartung und Erweiterung des Codes anderer schwierig (insbesondere wenn der Stil nicht mit dem eigenen übereinstimmt). Aus der Sicht eines R-Benutzers erhöht die inkonsistente Syntax die Lernkurve von R, da es mehrere Möglichkeiten gibt, ein Konzept auszudrücken (z.B. ist die Datums-Casting-Funktion asDate(), as.date() oder as_date()? Nein, es ist as.Date()).

3voto

Wie ich hier anmerke:

Wie wirkt sich die Ausführlichkeit von Bezeichnern auf die Leistung eines Programmierers aus?

Es ist zu bedenken, wie verständlich Ihre Variablennamen für Ihre Mitarbeiter/Benutzer sind, wenn sie keine Muttersprachler sind...

Aus diesem Grund würde ich sagen, dass Unterstriche und Punkte besser sind als Großbuchstaben, aber wie du schon sagst, ist Konsistenz innerhalb deines Skripts wichtig.

2voto

geoffjentry Punkte 4569

Wie bereits von anderen erwähnt, bringen Unterstriche viele Leute durcheinander. Nein, es ist nicht verboten, aber es ist auch nicht besonders üblich.

Die Verwendung von Punkten als Trennzeichen wird bei S3-Klassen und dergleichen ein wenig heikel.

Meiner Erfahrung nach scheint es so, als ob viele der hohen Tiere von R die Verwendung von camelCase bevorzugen, mit etwas Punktgebrauch und einer kleinen Menge von Unterstrichen.

1voto

Jesse Punkte 799

Ich habe eine Vorliebe für gemischte Hauptstädte.

Ich verwende jedoch oft Punkte, um den Typ der Variablen anzugeben:

mixedCapitals.mat ist eine Matrix. mixedCapitals.lm ist ein lineares Modell. mixedCapitals.lst ist ein Listenobjekt.

und so weiter.

1voto

calejero Punkte 424

Normalerweise benenne ich meine Variablen mit einer Reihe von Unterstrichen und einer gemischten Großschreibung (camelCase) um. Einfache Variablen werden mit Unterstrichen benannt, Beispiel:

PSOE_Stimmen -> Anzahl der Stimmen für die PSOE (politische Fraktion in Spanien).

PSOE_Staaten -> Kategorisch, gibt den Staat an, in dem die PSOE gewinnt {Aragon, Andalusien, ...)

PSOE_politische_Kraft -> Kategorial, gibt die Position zwischen den Fraktionen der PSOE an {erste, zweite, dritte)

PSOE_07 -> Vereinigung von PSOE_Stimmen + PSOE_Staaten + PSOE_politische_Kräfte im Jahr 2007 (h eader -> Stimmen, Staaten, Position )

Wenn meine Variable das Ergebnis einer in einer/zwei Variablen angewandten Funktion ist, verwende ich eine gemischte Großschreibung.

Beispiel:

positionXstates <- xtabs(~Staaten+Position, PSOE_07)

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X