1.赋值
赋值符号选择:<-
2. 命名
- 常量: 类似函数名以k开头 e.g. : kConstantName
- 函数: 首字母大写
- 变量命名: 小写字母 下划线
3. 语法
-
单行长度:不要超过80个字符
-
缩进:用两个空格进行缩进,避免使用Tab键,或者混用
-
字符间隔:不加空格
-
花括号:前括号不需要独占一行,后括号则应当独占一行
另起一行写代码主体
else语句要与花括号同行
e.g. : if (condition) {
one or more lines
} else {
one or more lines
}
4. 代码组织
-
总体布局与顺序
如果所有人都以相同顺序安排代码内容, 就可以更加轻松快速阅读他人脚本
i. 版权声明
ii. 作者信息
iii. 文件说明, 包括程序的目的,输入以及输出
iv. source() 和 library() 说明
v. 函数定义
vi. 可执行语句, 如果有的话 (例如, print, plot)
单元测试应在另一个独立的的文件_unittest.R 中进行
-
注释:
注释行以 # 开头,后加一个空格
代码行内短注释需要在代码后面空两格,然后 # ,再加一个空格
-
函数定义和调用
函数定义应先列出无默认值的参数, 再列出有默认值参数
允许每行写多个参数; 换行只允许在赋值语句外进行
e.g.: PredictCTR <- function(query, property, num.days,
show.plot = TRUE)
参考
https://zhuanlan.zhihu.com/p/110710464
知乎_R语言代码书写规范
https://www.cnblogs.com/dogfaraway/p/11505856.html
博客园_Google's R Style Guide
https://yihui.org/cn/2012/09/equal-and-arrow/
谢神博客_R的若干基金及争论
https://d.cosx.org/d/104211-104211
统计之都_Google's R Style Guide