作战计划

R 防御式编程

Dr. Colin Gillespie

Jumping Rivers

从小处开始

伟大成果,可由小力量达成。

孙子,《孙子兵法》

R 防御式编程

名字里有什么(文件名)?

  • 所有 R 脚本都存储在文件中
    • 因此文件名很重要
    • 文件名的一致性更重要
      • 我们该定哪些规则?

R 防御式编程

多个词

文件名常含多个词

例如

  • cluster-analysis.R
  • load-survival-data.R
  • plot-residuals.R
R 防御式编程

空格、连字符还是下划线?

一个简单问题:词之间应如何分隔?

  • 空格:analysis clustering.R
  • 下划线:analysis_clustering.R
  • 连字符:analysis-clustering.R

花几秒回答两个问题

  • 你在用哪种?
  • 你觉得应该用哪种?
R 防御式编程

文件名中的空格

  • 别用它们
  • 真的别用

文件名和目录中的空格是个坏主意

  • 放到网页上时,file name.R 会变成 file%20name.R
  • 在命令行中,带空格的文件名需要加引号
  • 正则表达式也更麻烦
  • 还难以分辨
    • file name.R - 一个空格
    • file name.R - 两个空格,很难看出
R 防御式编程

连字符还是下划线

下划线有些问题

  • Google 将 file_name 视为一个词
    • 所以仅搜索 file 不行
  • 正则中的 \w_ 当作字母

这些问题对连字符不适用

坦白讲:

  • 我通常用下划线
  • 但我在尝试改用连字符
R 防御式编程

让我们练习一下

R 防御式编程

Preparing Video For Download...