Jaki jest preferowany styl nazywania zmiennych w R? [Zamknięte]

Jakie konwencje nazywania zmiennych i funkcji są preferowane w kodzie R?

O ile wiem, istnieje kilka różnych konwencji, z których wszystkie współistnieją w harmonii kakofonicznej:

1. Zastosowanie separatora okresu, np.

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

Plusy: Ma historyczne pierwszeństwo w społeczności R, rozpowszechnione w rdzeniu R i zalecane przezPrzewodnik stylów Google.

Cons: Bogaty w konotacje obiektowe i mylący dla początkujących R

2. Korzystanie z podkreśleń

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

Plusy: Wspólna konwencja w wielu językach programowania; faworyzowany przezPoradnik stylu Hadley Wickhami używane w pakietach ggplot2 i plyr.

Cons: Nie używane historycznie przez programistów R; jest irytująco odwzorowywany na operator „<-” w Emacs-Speaks-Statistics (zmieniany za pomocą „ess-toggle-underscore”).

3. Korzystanie z mieszanej kapitalizacji (camelCase)

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

Plusy: Wydaje się mieć szerokie zastosowanie w kilku społecznościach językowych.

Cons: Ma niedawny precedens, ale nie był używany historycznie (ani w bazie R ani w jego dokumentacji).

Na koniec, jak gdyby nie było to wystarczająco mylące, powinienem podkreślić, że Przewodnik po stylach Google argumentuje za notacją kropkową dla zmiennych, ale mieszaną kapitalizacją dla funkcji.

Brak spójnego stylu w pakietach R jest problematyczny na kilku poziomach. Z punktu widzenia dewelopera utrudnia to utrzymanie i rozszerzanie kodu innego (szczególnie tam, gdzie jego styl jest niezgodny z twoim). Z punktu widzenia użytkownika R niespójna składnia zwiększa krzywą uczenia R, mnożąc sposoby wyrażania koncepcji (np. Czy ta funkcja rzutowania daty asDate (), as.date (), czy as_date ()? Data()).

questionAnswers(9)

yourAnswerToTheQuestion