在R代码中,您喜欢使用哪些命名变量和函数的约定?
据我所知,有几种不同的习俗,它们在discord的和谐中共存:
1. Use of period separator, e.g.
stock.prices <- c(12.01, 10.12)
col.names <- c('symbol','price')
Pros:在R社区中具有历史优先地位,在整个R核心中普遍存在,并被Google's R Style Guide推荐.
Cons:充满了面向对象的内涵,让R新手感到困惑
2. Use of underscores
stock_prices <- c(12.01, 10.12)
col_names <- c('symbol','price')
Pros:在许多编程语言中是一种常见的约定;受Hadley Wickham's Style Guide人青睐,用于ggplot2和plyr软件包.
Cons:个历史上没有被R程序员使用过;令人恼火地映射到"<;-"Emacs中的运算符讲统计信息(可使用"ess切换下划线"进行更改).
3. Use of mixed capitalization (camelCase)
stockPrices <- c(12.01, 10.12)
colNames <- c('symbol','price')
Pros:似乎在一些语言社区得到了广泛采用.
Cons:有最近的先例,但历史上没有使用过(在R库或其文档中).
最后,似乎还不够混乱,我应该指出,谷歌风格的指南主张变量使用点符号,但函数使用混合大写.
在R包中缺乏一致的风格在几个层面上都存在问题.从开发人员的Angular 来看,这使得维护和扩展他人的代码变得困难(尤其是在其风格与您的风格不一致的情况下).从R用户的Angular 来看,不一致的语法会使R的学习曲线变陡,方法是将一个概念的表达方式相乘(例如,日期转换函数asDate(),as).日期(),还是作为日期()?不,是这样的.日期()).