2
我一直在爲工作編寫可讀的代碼和樣式指南。我瞭解80字符限制建議。r 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個字符限制(所有潛在的格式化問題)?
你可以換行增加的權賦值'<-',它仍然可以正確編譯;我通常會這樣做,並在這種情況下添加兩個縮進空格(或者'RStudio'中的默認值)。此外,由於字符串重複,您可以考慮將每個字符串存儲爲'str1'和'str2'(例如),然後寫入'df $ rslt [df $ test == str1 | df $ test == str2] ... ' – MichaelChirico
只需按更頻繁地輸入並使用代碼縮進。 –
我不認爲他遇到了錯誤。他只是徵求我們的意見。我認爲StackOverflow社區不贊成意見驅動的問題。你可以看看[這個](http://programmers.stackexchange.com/questions/14856/what-popular-best-practices-are-not-always-best-and-why)。 –