只写一条注释

R 防御式编程

Colin Gillespie

Jumping Rivers

我不清楚你怎样…

  • 今天看来显而易见的代码
  • 几周后往往就不那么清楚了
R 防御式编程

注释

  • 可用 # 为 R 代码添加注释
  • 写好注释其实不容易!
# This is a comment
# The above comment isn't very helpful
# Or is it?
R 防御式编程

提示 1:避免显而易见的注释

  • 什么算"显而易见"并不总好判断
    • 例如,这些注释
       # Loop through data sets
       for (dataset in datasets) {
        # Read in data set
        r <- read.csv(dataset)
       }
      
      看起来合理
    • 但或许过于明显了
R 防御式编程

提示 2:避免你永远不会更新的注释

最常见的是文件顶部的头部注释

# Last updated: 1967-02-25
# Author: D Law
# Status: No 1
  • 这类注释几乎从不更新
  • 我曾见过 # list of packages used: XXX, YYY
R 防御式编程

提示 3:保持一致

  • 统一用单个 # 或双个 ## 开头
  • 首字母大写——遵循语法规则
  • 谨慎开玩笑
    • 你觉得好笑,别人可能反感
  • 对"看起来不对"的代码务必写注释
  • # TODO# XXX 标注后续问题
R 防御式编程

让我们来练习

R 防御式编程

Preparing Video For Download...