r 80 个字符的行限制

标签 r coding-style google-style-guide

关闭。这个问题是opinion-based .它目前不接受答案。












想改善这个问题吗?更新问题,以便可以通过 editing this post 用事实和引文回答问题.

6年前关闭。




Improve this question




我一直致力于编写可读的代码和工作风格指南。我理解 80 个字符的行限制建议。

有时,如果我坚持 80 个字符的限制,我会编写一长串代码,这些代码的可读性会降低。

这是我如何格式化代码的示例(不符合 80 个字符,破折号表示字符)

0--------1---------2---------3---------4---------5---------6---------7---------8   
df$rslt[df$test == "M. ovipneumoniae by ELISA" |
        df$test == "PCR-Mycoplasma ovipneumoniae"] <- df[df$test == "M. ovipneumoniae by ELISA" |
                                                         df$test == "PCR-Mycoplasma ovipneumoniae",
                                                         "result"]

如果我要遵循 80 个字符的限制,我可以输入如下代码
0--------1---------2---------3---------4---------5---------6---------7---------8
df$rslt[df$test == "M. ovipneumoniae by ELISA" |
          df$test == "PCR-Mycoplasma ovipneumoniae"] <- df[df$test == 
                                                             "M. ovipneumoniae 
                                                              by ELISA" |
                                                           df$test == 
                                                             "PCR-Mycoplasma 
                                                              ovipneumoniae",
                                                            "result"]

我发现第一个例子更具可读性。每个逻辑操作都是一个新行,读起来很清楚。第二个例子很容易理解,但是当我达到 80 个字符的限制时变得复杂。我可以阅读它,但我将字符串分成多行,将单个逻辑操作分成多行等。

对于较长的字符串,是否可以超过 80 个字符的限制(除了所有潜在的格式问题)?

最佳答案

首先,我会拆分您匹配的值:

test_vals = c("M. ovipneumoniae by ELISA", "PCR-Mycoplasma ovipneumoniae")

然后,我会按照迈克尔的建议去做:
df$rslt[ test %in% test_vals ] <-
  df$result[ test %in% test_vals ]   

# or
library(data.table)
setDT(df)[ test %in% test_vals, rslt := result]

关于r 80 个字符的行限制,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32190272/

相关文章:

r - data.table 后端的 dplyr 错误 [在 dplyr 0.4.3 或更早版本中]

r - Shiny :在弹出窗口中绘制结果

coding-style - 风格执行工具有用吗?

c++ - 是否建议将指向堆内存的指针始终声明为 `const`?

c++ - 在不访问其定义的情况下使用头文件中的类?

python - getter 和 setter 的谷歌风格指南属性

c++ - 为 C++11 移动语义编辑 Google 的 C++ DISALLOW_COPY_AND_ASSIGN 预处理器宏

r - 在 R 中优化带有约束的曲线组合

R 将一列升序排序,所有其他列降序(基于列顺序)

java - 循环内外定义变量的区别