R語言編碼規(guī)范

1.一般性規(guī)則

(1)避免使用attach。
(2)寫函數(shù)時盡量少的使用stop()。
(3)定義S3和S4的對象不要混在一起使用。

2.文件命名

(1)文件名應(yīng)以.R結(jié)尾,文件名本身要有意義,如:predict_ad_revenue.R。
(2)R代碼就放在.R文件中,而R數(shù)據(jù)文件則放在.RData文件中。

3.變量名和函數(shù)命名規(guī)則

注意,在R環(huán)境下,大小寫是敏感的。
1.變量名應(yīng)都用小寫字母,單詞間用.分隔。
2.函數(shù)名的每個單詞用大寫字母開頭,不用.連接。
3.常數(shù)項與函數(shù)命名規(guī)則一致,但以小寫k開頭。
以下舉例說明:
變量:avg.clicks;
函數(shù)名:CalculateAvgClicks用動詞命名函數(shù);
常數(shù)項:kConstantName。

4.R語句

(1)單行長度
每行最長80個字符。
(2)縮進(jìn)
使用兩個空格來縮進(jìn)代碼,不要使用制表符或混合使用二者。
(3)空格
1.在所有二次運算符(=,+,-,<-,等)的兩側(cè)加上空格。
2.不可在逗號前加空格,逗號后必須加空格。
例如:tabPrior <- table(df[df$daysFromOpt < 0, "campaignid"])
3.括號左邊用空格,調(diào)用函數(shù)時除外。例如:if (debug)。
4.可以多使用空格(一行中有多個空格),如果這能夠改善符號間的對齊。
圓括號或方括號內(nèi)的代碼兩側(cè)不要加空格,逗號后面除外。
(4)花括號
1.開始的{不能單獨成行,結(jié)束的}必須單獨成行,如:

if (is.null(ylim)) {
  ylim <- c(0, 0.06)
}

2.單獨的一個語句應(yīng)從新的一行開始。
(5)賦值
使用 <- 進(jìn)行賦值,不用 = 賦值。

5.代碼組織

如果是做項目或者多人合作,便于所有人都能快速閱讀并理解他人的腳本,以下信息是必須有的:
a)版權(quán)聲明注釋
b)作者信息注釋
c)文件說明注釋(包括程序的用途,輸入,輸出)
d)source()library()語句說明
e)函數(shù)定義

6.注釋

開發(fā)工程師應(yīng)養(yǎng)成良好的注釋習(xí)慣。
整行注釋以 # 開頭,加一個空格,如:# Create histogram of frequency。
行內(nèi)短注釋需要在代碼后面空兩格,然后 # ,再加一個空格,如:

    hist(df$pctSpent,
    breaks = "scott",  # method for choosing number of buckets
    x     = "Frequency (count of campaignids)")

7.函數(shù)定義與調(diào)用

函數(shù)定義應(yīng)首先列出無默認(rèn)值的參數(shù),然后再列出有默認(rèn)值的參數(shù)。
在函數(shù)定義和調(diào)用時,允許每行寫多個參數(shù),一般只在賦值時才換行。如:

PredictCTR <- function(query, property, numDays,
    showPlot = TRUE)

在函數(shù)的定義行下方應(yīng)當(dāng)緊接一個注釋區(qū),包括:
-描述函數(shù)的作用
-描述函數(shù)的參數(shù)列表,用Args:對每個參數(shù)進(jìn)行描述(包括數(shù)據(jù)類型)
-描述返回值,用Returns:
注釋部分應(yīng)盡可能詳細(xì)充分,以便調(diào)用者在不閱讀代碼時就能使用該函數(shù)。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • R 語言是一門主要用于統(tǒng)計計算和繪圖的高級編程語言. 這份 R 語言編碼風(fēng)格指南旨在讓我們的 R 代碼更容易閱讀、...
    蕭子柔閱讀 2,055評論 0 9
  • 本文檔講述了Java語言的編碼規(guī)范,較之陳世忠先生《c++編碼規(guī)范》的浩繁詳盡,此文當(dāng)屬短小精悍了。而其中所列之各...
    蟻前閱讀 1,017評論 0 51
  • ——by不是殺殺 為了使我們寫的代碼更容易閱讀、避免過段時間再看自己寫的代碼就頭疼,我們在寫代碼的時候應(yīng)該注意一些...
    不會生信喲閱讀 935評論 2 4
  • 編程的代碼規(guī)范目的是使我們的R代碼更容易閱讀、分享和驗證,下述是一些約定俗成的代碼規(guī)范: 1.0 文件名 對于R ...
    LeoinUSA閱讀 2,921評論 1 5
  • 介紹 本文檔給出了Python代碼的編碼約定。 該樣式指南會隨著時間的流逝而發(fā)展,因為會發(fā)現(xiàn)其他約定,而過去的約定...
    Eazow閱讀 636評論 0 0

友情鏈接更多精彩內(nèi)容