←
PDF 301 / 520 # Not so good select\input() checkbox\input() text\input()
→
English · PDF 301
Original PDF page 301
中文 · PDF 301

# 不太好的写法 select_input() checkbox_input() text_input()

这种设计的一个好例子是 stringr 包:如果你记不清具体需要哪个函数,可以输入 str_ 来唤起记忆。

在可能的情况下,避免覆盖已有的函数和变量。一般来说这不可能完全做到,因为很多好名字已经被其他包占用了,但避开 base R 中最常见的名字可以避免混淆:

# 不要这样做! T <- FALSE c <- 10 mean <- function(x) sum(x)

使用注释(以 # 开头的行)来解释代码的“为什么”。你通常应该避免解释“是什么”或“怎么做”的注释。如果你无法通过阅读代码来理解它的作用,你应该思考如何重写它使其更清晰。是否需要添加一些带有有用名称的中间变量?是否需要把一个大函数的某个子部分拆分出来以便为其命名?然而,你的代码永远无法表达你决策背后的理由:为什么选择这种方法而不是另一种?你还尝试过哪些行不通的方法?把这类思考记录在注释中是一个很好的做法。

注释的另一个重要用途是将你的文件分割成易于阅读的块。使用一长行 - 或 = 来让分界处易于辨认:

# 加载数据 -------------------------------------- # 绘图数据 --------------------------------------

RStudio 提供了一个创建这类标题的键盘快捷键(Cmd/Ctrl-Shift-R),并会在编辑器左下角的代码导航下拉菜单中显示它们: