谷歌R语言格式指南

◆ ◆ ◆

总结:R格式规范

1. 文件名:以.R结束

2. 标识符:variable.name (或 variableName), FunctionName, kConstantName

3. 单行长度限制:至多80个字符

4. 缩进:两个空格,不要使用“tab”

5. 空格

6. 花括号:左花括号在同一行上,右花括号另起一行

7. else:else的前后都是花括号

8. 赋值:使用“<-”,而不是“=”

9. 分号:不要使用

10. 整体布局和顺序

11. 注释准则:所有的注释都应该以#开头并且紧跟一个空格,如果注解与代码在同一行内,那么在#之前需加两个空格

12. 函数的定义和调用

13. 函数文档

14. 函数示例

15. TODO格式:(TODO(用户名))

◆ ◆ ◆

R语言规则

1. attach:避免使用

2. 函数:用stop()命令引发出错

3. 对象和方法:尽量避免使用S4对象和方法;不要将S3和S4混用

符号与命名

文件名

文件名应该以.R结尾,而且文件的命名应该具有实际意义

好的例子——predict_ad_revenue.R

不好的例子——foo.R

标识符

不要在标识符中使用下划线(_)或者连接符(-)。标识符应该遵照以下约定来命名。变量名的首选形式是全部采用小写字母并且用小数点(.)来区分词(variable.name),但是variableName也是可以接受的;函数名首字母要大写并且不带有小数点(FunctionName);常量和函数名类似,但以k开头。

  • 首选variable.name,variableName也可以接受

好的例子:avg.clicks

可接受的例子: avgClicks

不好的例子: avg_Clicks

  •  函数名 FunctionName

好的例子:CalculateAvgClicks

不好的例子: calculate_avg_clicks , calculateAvgClicks

函数名应该用动词形式表示。

例外:当创建一个类对象,函数名(构造的)和类应该相互匹配(例如:lm)

  • 常量:kConstantName

语法

单行长度

单行的最大长度为80个字符

缩进

在缩进代码的时候,用两个空格。千万不要用tab或者把tab和空格混合使用。

例外:当圆括号里的内容出现分行的情况时,对准括号里的行首与换行的第一个字符。

空格


在所有二元运算符(=, +, -,<-,等等)的前后都加上一个空格

例外

①调用函数传递参数时,“=”前后的空格可加可不加;

②逗号前面不要有空格,但是逗号后面要带一个空格。

好的例子——


不好的例子——


除非是调用函数,其余情况下应该在左圆括号前加上一个空格

好的例子——

if (debug)

不好的例子——

if(debug)

如果加上额外的空格(也就是说在一行中超过一个空格)能够使等号或者箭头看起来更整齐,那也是可以的。

不要在圆括号或者方括号里面的代码前后加上空格

例外

在逗号后面总是要加一个空格

好的例子——


不好的例子——


花括号

左花括号不能单独成行;右花括号一定要单独成行。可以在只有一个语句的代码模块里省略花括号; 但是必须保持对所有的单个语句的代码的一致性。

也可以写成:

一个模块的语句总是另起一行

不好的例子——


else前后的花括号

else语句应该总是在同一行中被花括号围绕着

if (condition) {

  one or more lines

} else {

  one or more lines

}

不好的例子——

不好的例子——


赋值

Use <-, not =, for assignment.

用“<-”来赋值,而不是等号“=”。

好的例子——

x <- 5

坏的例子——

x = 5


分号

不要用分号作为行的结束,或者利用分号在一行中写上多个命令。(分号是不必要的,根据其它Google格式指南的一致性,可以省略)

组织

◆ ◆ ◆

总体布局和顺序

如果每一个人都使用通用的顺序,那么我们将更快及更容易地阅读和理解其他人的脚本。

1. 版本声明注释

2. 作者信息

3.文件描述注释,包括程序的功能、输入和输出

4.Source() 和 library()声明

5.函数定义

6.执行语句声明,如果适用的话(如:print,plot)

单元测试应该在一个名为originalfilename_test.R 的单独文件中。

◆ ◆ ◆

注释指南


注释代码——①必需以“#”及一个空格开始注释行;②可以在代码之后加上两个空格,然后以“#”及一个空格开始一个短小的注释。

◆ ◆ ◆

函数定义和调用

函数定义首先列出不带默认值的参数,随后是带默认值的参数。在函数定义和调用中,一行可以有多个参数;赋值语句之间可以换行。

好的例子——

不好的例子——

理想情况下,单元测试应该作为样本函数调用(共享库路径)。

◆ ◆ ◆

函数文档

函数应该包含紧接着函数定义行的一个注释部分。这些注释应该包含用一句话完成的函数的描述;函数的参数列表,记作Args以及每个参数的描述(包括数据类型);返回值的描述,记作Returns。注释应该描述得足够清楚,调用者可以不用看函数代码就使用它。

函数示例

  

◆ ◆ ◆

TODO风格

在代码中始终用相同的TODO风格

TODO(username):明确说明要采取的行动

语言

附加

使用attach出现错误的可能性很高。避免使用。

函数

用stop()引发出错

◆ ◆ ◆

对象和方法

S语言有两个对象系统,S3和S4,它们在R中都是可用的。S3是更加交互式的和灵活的,而S4是更加正式的和严格的。(这两个系统的说明,参考Thomas Lumley的《Programmer’s Niche: A Simple Class, in S3 and S4 in R》

用S3的对象和方法,除非有强烈的理由要使用S4的对象或方法。用S4对象的一个主要理由是在C++代码中直接使用对象。用S4通用/方式的一个主要根据是由两个参数调度。

避免混合使用S3和S4:S4方法忽略S3的继承,反之亦然。

例外——

上面描述的代码约定应该遵循,除非有一个合理的原因使用其它约定。例外包括正常的代码和修改的第三方代码。

原文发布时间为:2016-10-09

时间: 2024-10-07 11:14:12

谷歌R语言格式指南的相关文章

《R语言初学指南》一1.6 计算任务

1.6 计算任务 R语言初学指南可用已学到的R知识来完成下面的计算题.最初可能会遇到些小麻烦,但通过实践.试验.犯错并与同学讨论,就可掌握如何操作R.记住,如果输入了错误的命令,只要再输入一遍正确的即可,R会覆盖之前的值.在命令运行成功并得到结果后,将其复制并保存在一个文本文件中,以便日后调用. 1-1 计算下列各表达式: 1-2 在更长的时间跨度下,再画一遍投资方程图(计算存单中的金额).这次将时间延长到多年(50年?)后的将来,比如说一直到65岁退休那年.得到的图形是不是很令人惊讶?这确实让

《R语言初学指南》一1.3 图形

1.3 图形 R语言初学指南准备好用R进行绘图了吗?如果还没有感受到R的强大,就请做好准备吧.假设你有1000美元的积蓄,并希望存到将来使用,比如用来买房子.现在有银行提供一份年利率为5%的存单(certificate of deposit,CD),并且每年的利息会计入本金.通过用R绘图,可看到这样的结论:这份存单可让你有机会更好地利用原有的积蓄.图中会显示一年后.两年后,一直到十年后,存单中的实际金额. 由于每年5%的利息会计入本金,在计算下一年存单中的金额时,要用(1+0.05)乘以当年的金

《R语言初学指南》一1.5 本章小结

1.5 本章小结 R语言初学指南要想进行更长.更复杂的计算,或是绘制一幅复杂的图形,都需要在控制台中输入多行命令,看起来这并不易于操作.事实确实如此.本书第2章将会介绍如何输入.编辑并保存一串很长的命令列表到R的"脚本"文件中,并同时运行整个命令列表.同样,使用c()(合并)命令将一组很大的数据集输入到一个或几个向量中,看上去既笨拙又不方便.本书第5章将会介绍如何将数据输入并保存在一个独立的数据文件中,以及如何在R中调用该数据文件来绘图和分析.通常大多数人,特别是科学家们,讨厌不必要的

《R语言初学指南》一第2章 R脚本

第2章 R脚本 R语言初学指南 如果只是进行一项小的计算任务,也必须在控制台窗口中输入许多行代码,则会令人感到心烦.一旦出现错误,就要将某行,甚至更多行全部重新输入.例如,在第1章曾使用三个R命令绘图: >moose.density=c(.17,.23,.23,.26,.37,.42,.66,.80,1.11,1.30,1.37, + 1.41,1.73,2.49) >kill.rate=c(.37,.47,1.90,2.04,1.12,1.74,2.78,1.85,1.88,1.96, +

《R语言初学指南》一1.4 实际案例

1.4 实际案例 R语言初学指南 前文中选取的例子仅仅是用来做简单说明,在实际生活中,对存单投资的重要性很难超越现金的重要性.在本书的一些章节中,会分析更加复杂的实际案例,这需要一步步地用R中的计算及绘图工具进行综合分析. 下面介绍生态学的数据绘图.这是一个科学上的实际案例,而不是演示案例,因此先介绍一些背景知识. 生态学是生物学的一个分支学科,是研究生物体与其周围环境相互关系的科学.几十年来,生态学家一直在关注捕食者与猎物的关系,这种关系是对社会有重要意义的问题.例如,在美国的部分地区,有关狼

《R语言初学指南》一导读

前 言 R语言初学指南 R是一个用于科学绘图和计算的计算机软件.它由统计学家和科学家编写并维护,以便科学家们在工作中使用.它易于使用,且有强大的功能.R正在科学和技术领域迅速传播,并为展示科学出版物中的图形数据建立标准. R是免费的开源软件,可在大多数计算机(俗称电脑)上安装.它支持Windows.Mac和Unix/Linux操作系统.人们可从R语言网站(http://www.r-project.org/)方便地下载并安装R软件. 本书是为高中生.大学生,以及其他想要学习怎样使用R的人编写的.借

《R语言初学指南》一2.6 本章小结

2.6 本章小结 R语言初学指南在上例中,由于向量t.principal.paid.month.t.interest.paid.month.t及principal.remaining都包含360(或m)个元素,它们在控制台显示时会出现大片的数字.若能将它们组织成某种表格,使之能更好地呈现出来就好了.同样,还需要几种能将大型数据表格输入到R中的方法.在第5章中将会讨论数据的输入及输出. 在之前给出的脚本中,函数sum()可能会令人好奇,它可对任一向量中的所有元素求和.R中有很多这样的函数,在第3章

《R语言初学指南》一第1章 介绍:开始使用R1.1 R教程

第1章 介绍:开始使用R R语言初学指南R是一种用来进行科学绘图和计算的计算机程序. R由科学家编写,供他们在工作中使用. R具有非常强大的功能,且十分易于使用. R是免费的. 记得之前提到过R是免费的吗? R有不同的版本,适用于各种操作系统,比如,Windows,Mac,甚至包括Unix/Linux系统.如果读者在家有台能联网的电脑,便可以从这个网站http://www.r-project.org/下载并安装R. R的安装比电脑游戏还要简单(若需安装帮助,可以参考附录A). 安装R之后,会在电

《R语言初学指南》一2.7 计算任务

2.7 计算任务 R语言初学指南下面是第1章中的部分任务.这里的任务是:为下列R中的计算问题建立R脚本.希望你能同意将完成第1章中任务的R命令都用R脚本保存下来,以便日后使用.在完成第1章任务后将命令保存下来了吧?这对完成下面的任务很有帮助的! 2-1 计算下列各表达式: 2-2 在更长的时间跨度下,再画一遍投资方程图(计算存单中的金额).这次将时间延长到多年(50年?)后的将来,比如说一直到65岁退休那年.得到的图形是不是很令人惊讶?这确实让人很难抉择:要么现在去买一条设计新颖的牛仔裤,要么存