您在编写R代码时,偏好哪些变量和函数命名约定?
据我所知,有几种不同的约定共存于嘈杂的和谐中:
1. 使用点分隔符,例如:
stock.prices <- c(12.01, 10.12)
col.names <- c('symbol','price')
优点:在R社区中具有历史先例,在R核心中普遍存在,并被Google's R Style Guide推荐。
缺点:充斥着面向对象的内涵,对于新手来说容易混淆。
2. 使用下划线
stock_prices <- c(12.01, 10.12)
col_names <- c('symbol','price')
优点:许多编程语言中的常见约定;Hadley Wickham's Style Guide 推荐使用,并在 ggplot2 和 plyr 包中使用。
缺点:历史上 R 程序员不习惯使用;在 Emacs-Speaks-Statistics 中将“_”映射为“<-”操作符,这可能会有些烦人(可以通过“ess-toggle-underscore”进行更改)。
3. 使用混合大小写(驼峰式命名法)
stockPrices <- c(12.01, 10.12)
colNames <- c('symbol','price')
优点:在多个语言社区中似乎被广泛采用。
缺点:虽然有最近的先例,但历史上未被使用(无论是在R基础还是其文档中)。
最后,如果这还不够令人困惑,我应该指出Google样式指南主张使用点符号表示变量,但对于函数则使用混合大小写。
R软件包风格不一致在几个层面上都存在问题。从开发者的角度来看,它使得维护和扩展他人的代码变得困难(特别是当其风格与您自己的风格不一致时)。从R用户的角度来看,不一致的语法加剧了R的学习曲线,因为一个概念可能有多种表达方式(例如,日期转换函数是asDate()、as.date()还是as_date()?不,是as.Date())。
alllowercase
变量名,以及大量直接从方程式中提取的非常短的名称(x
,y
等)。 - Richie Cotton