Яким умовам для іменування змінних та функцій ви надаєте перевагу в коді R?
Наскільки я можу сказати, існує декілька різних умов, які співіснують у какофонній гармонії:
1. Використання роздільника періоду, наприклад
stock.prices <- c(12.01, 10.12)
col.names <- c('symbol','price')
Плюси: Має історичний пріоритет в R співтоваристві, поширений по всьому ядру R, і рекомендованого R Style Guide від Google .
Мінуси: Поповнитися об'єктно-орієнтованими конотаціями та заплутаними для R новачків
2. Використання підкреслень
stock_prices <- c(12.01, 10.12)
col_names <- c('symbol','price')
Плюси: загальна конвенція у багатьох програмах; надається перевагу посібнику зі стилів Хадлі Вікхем і використовується у пакунках ggplot2 та plyr.
Мінуси: історично не використовуються програмістами R; прикро відображається на операторі '<-' в Emacs-Speaks-Statistics (змінна з 'ess-toggle-underscore').
3. Використання змішаної капіталізації (camelCase)
stockPrices <- c(12.01, 10.12)
colNames <- c('symbol','price')
Плюси: Очікується, що в декількох мовних спільнотах є широке поширення.
Мінуси: Є останнім прецедентом, але не використовувався історично (ні в базі R, ні в його документації).
Нарешті, як би це не було досить заплутаним, я повинен зазначити, що Посібник зі стилів Google стверджує про точкове позначення змінних, але змішану велику літери для функцій.
Відсутність послідовного стилю для пакетів R є проблематичною на кількох рівнях. З точки зору розробника, це ускладнює підтримання та розширення коду інших (особливо, коли його стиль не відповідає вашому). З точки зору користувача R, непослідовний синтаксис посилює криву навчання R шляхом множення способів вираження поняття (наприклад, це функція мовлення дати asDate (), as.date () або as_date ()? Ні, це як. Дата()).
ImfDataTransformed
або натуральна розширена версія IMFDataTransformed
не так легко читати, як мій бажаний TOGGLEcamelCase: IMFdataTransformed
...
alllowercase
імен змінних, і безліч прямих-з-рівнянь дуже коротких імен (x
,y
і т.д.).