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