R语言的命名相对松散,没有一致的命名规范,下面是几种在R中常见的命名规范。

  • 全小写(alllowercase):所有字母都采用小写的格式,并且单词之间不用分隔符。如 searchpaths, srcfilecopy。这种命名方式在 MATLAB 中较为常见;
  • 点号分隔(period.separated):所有字母用小写,并且单词之间用英文句号分隔。这种命名方式是R所独有的,并且在核心函数上可见,如 as.numeric, read.table;
  • 下划线分隔(underscore_separated):所有字母小写,并且单词之间用下划线分隔。如 seq_along, package_version。这种命名方式多见于 C++, Perl 和 Ruby;
  • 小驼峰法(lowerCamelCase):如 colMeans, suppressPackageStartupMessage。这种命名法多见于Java, JavaScript;
  • 大驼峰法(UpperCamelCase):如Vectorize, NextMethod。这种命名法多见于Java, Python 和 JavaScript。

还要注意的一点是,在 R 中,以点(dot)开头的对象在某种程度上说是隐藏的,这个性质与 Linux 的文件系统中的情况是类似的。

这里找到了有四种现成的编码规范说明:

还是那句话,不管遵循哪种规范,请保持代码规范一致。

想知道哪种命名规范在 R 里比较流行吗?从 CRAN (Comprehensive R Archive Network)中的2668个包中抓出62497个函数名和316852个参数名,得到如下的比例图(注意有些名字的命名无法被唯一的归为一种命名法,比如plot就同时归到alllowercase, period.separated, underscor_separated, lowerCamelCase 下)。

NamingConventionPercentage

 

 

 

 

 

 

 

文章来源:《The State of Naming Conventions in R》

Leave a Reply

Your email address will not be published.

Post Navigation