您喜欢在R代码中使用哪些命名变量和函数的约定?
据我所知,有几种不同的约定,所有这些约定共鸣共存:
1.使用句点分隔符,例如
stock.prices <- c(12.01, 10.12)
col.names <- c('symbol','price')
优点: 在R社区中具有历史悠久的先例,在R核心中普遍存在,并且受到Google的R风格指南的推荐。
缺点: 充斥着面向对象的含义,并且使R新手感到困惑
2.下划线的使用
stock_prices <- c(12.01, 10.12)
col_names <- c('symbol','price')
优点: 许多编程语言中的通用约定;已被Hadley Wickham的样式指南青睐,并用于ggplot2和plyr软件包。
缺点: R程序员从不使用过;在Emacs-Speaks-Statistics中恼人地映射到'<-'运算符(可通过'ess-toggle-underscore'更改)。
3.混合使用大写字母(camelCase)
stockPrices <- c(12.01, 10.12)
colNames <- c('symbol','price')
优点:在几种语言社区中似乎已被广泛采用。
缺点:有最新的先例,但历史上未使用(在R base或其文档中)。
最后,好像还不够令人困惑,我应该指出,《 Google风格指南》主张变量应使用点号,而函数应采用大小写混合。
R包之间缺乏一致的样式在几个层面上都是有问题的。从开发人员的角度来看,这使得维护和扩展他人的代码变得困难(尤其是其样式与您自己的代码不一致)。从R用户的角度来看,不一致的语法通过乘以表示概念的方式(例如,日期强制转换函数asDate(),as.date()或as_date()?)来加深R的学习曲线。日期())。
ImfDataTransformed
或自然扩展版IMFDataTransformed
不像我喜欢的TOGGLEcamelCase那样难读:IMFdataTransformed
...
alllowercase
变量名,以及大量直来自该公式非常短的名称(x
,y
,等)。