R代码规范(转)

简介:

    以下转自刘思喆的博客:http://www.bjt.name/2010/11/google-r-code-style/,虽然不是R代码规范的原文,但是感觉够用了。文章中的主要知识是:

   1)R文件命名时,多个单词间用下划线分割,以.R结尾,尽量使用多个单词命名,含义清晰;

   2)函数命名以大写字母开头,多个单词间遵守驼峰规则;变量命名时,多个单词间以“.”作分隔符,开头小写;

   3)运算符前后要以空格作分割;

   4)代码要有注释,以“#”开头,加一个空格;

   5)做项目时,代码要有版本信息、作者信息,输入、输出说明等;

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

R语言的代码规范 Nov 21, 2010

前些天在准备中国第三届R语言会议(上海)的时候, 翻到以前记录在Google Notebook里的一些材料, 一篇是关于Google Codes关于R代码的规范,非常值得借鉴。

规范这个东西平时多多注意一些还是有好处的,就和作文一样,漂亮的字体总能有不错的加分。这里就不翻译原文了,摘一些 tips 供大家参考:

1.一般性规则

  • 避免使用attach
  • 写函数是尽量少的使用stop()
  • 定义S3和S4的对象不要混在一起使用

2.文件命名

以.r结束的文件,尽可能的增加信息在文件名里面,比如

Good:
predict_ad_revenue.R

Bad:
foo.R

3.变量名和函数命名规则

注意,在R环境下,大小写是敏感的

变量:

Good:               
avg.clicks

Bad:                
avg_Clicks, avgClicks

函数名:

Good:
CalculateAvgClicks

Bad
: calculate_avg_clicks, calculateAvgClicks

4.字符间隔

这个可能是最快的,使代码外观变"漂亮"的规则了

Good:
tabPrior <- table(df[df$daysFromOpt < 0,"campaignid"])

Bad: tabPrior<-table(df[df$daysFromOpt<0,"campaignid"])

这里包含了赋值、逻辑符号以及逗点分隔。

在R里面尽量少用 =

在函数里:

Good:
if (debug)

Bad
:
if(debug)

5.代码组织

尤其是做项目的话,以下信息是必须有的:

  1. 版权声明
  2. 作者注释
  3. 文件说明,项目目的,输入和输出的说明
  4. source()library() 说明
  5. 函数定义
  6. 其他

6.注释

养成良好的注释习惯

  • 单行注释以 # 开头,加一个空格
  • 短注释需要在代码后面空两格,然后 # ,再加一个空格

最后再一次推荐使用Emacs+ESS,虽然我已经折腾n多次了~~

原文地址:https://www.cnblogs.com/thinkers-dym/p/3422775.html