首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >R 80字符行限制

R 80字符行限制
EN

Stack Overflow用户
提问于 2015-08-25 03:32:28
回答 1查看 2.1K关注 0票数 5

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

偶尔我会写一个很长的代码字符串,如果我坚持80个字符的限制,那么它的可读性就会变得更差。

以下是我如何格式化代码的示例(不符合80个字符,短划线表示字符)

代码语言:javascript
复制
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个字符的限制,我可能会输入如下代码

代码语言:javascript
复制
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个字符的限制(所有潜在的格式问题除外)是可以接受的吗?

EN

回答 1

Stack Overflow用户

发布于 2015-08-25 03:38:48

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

代码语言:javascript
复制
test_vals = c("M. ovipneumoniae by ELISA", "PCR-Mycoplasma ovipneumoniae")

然后,我会按照Michael的建议去做:

代码语言:javascript
复制
df$rslt[ test %in% test_vals ] <-
  df$result[ test %in% test_vals ]   

# or
library(data.table)
setDT(df)[ test %in% test_vals, rslt := result]
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/32190272

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档