當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


R codoc 檢查代碼/文檔的一致性


R語言 codoc 位於 tools 包(package)。

說明

查找實際和記錄的 ‘structure’ 之間的不一致之處R包中的對象。codoc比較函數參數的名稱以及可選的相應位置和默認值。codocClassescodocData分別比較 S4 類的槽名稱和數據集的變量名稱。

用法

codoc(package, dir, lib.loc = NULL,
      use.values = NULL, verbose = getOption("verbose"))
codocClasses(package, lib.loc = NULL)
codocData(package, lib.loc = NULL)

參數

package

命名已安裝包的字符串。

dir

指定包根源目錄路徑的字符串。這必須包含子目錄‘男人' 和R文檔來源(Rd 格式)和‘R' 和R代碼。僅在以下情況下使用package沒有給出。

lib.loc

目錄名稱的字符向量R Library ,或NULL.默認值為NULL對應於當前已知的所有庫。指定的庫樹用於搜索package.

use.values

if FALSE ,在比較代碼和文檔時不要使用函數默認值。否則,如果 TRUE 則比較所有默認值,否則僅比較用法中記錄的值(默認值)。

verbose

一個合乎邏輯的。如果是 TRUE ,則會打印附加診斷信息。

細節

的目的codoc是檢查函數對象的記錄用法是否與其定義中的形式參數一致R代碼。這並不總是簡單的,特別是因為泛型函數的方法的使用信息通常使用泛型的名稱而不是方法。

使用以下算法。如果使用了已安裝的軟件包,則會加載該軟件包(除非它是base包),在可能分離已加載的包版本之後。否則,如果使用源,則R包的代碼文件是在新環境中收集和獲取的。然後,“盡可能多”地提取和解析 Rd 文件的使用部分,以提供形式記錄。對於代碼環境中的解釋函數,根據參數的值在代碼和文檔之間比較形式use.values.

如果包具有命名空間,則會檢查導出和未導出的對象以及注冊的 S3 方法。 (萬一出現差異,順序是導出包中的對象、注冊的 S3 方法,最後是命名空間中的對象,並且僅檢查第一個找到的對象。)

目前,R 文檔格式沒有針對類和數據集的基本 ‘structure’ 的高級標記(類似於函數概要的使用部分)。通過適當編輯 prompt 創建的 ‘templates’ 獲得的文檔對象中數據幀的變量名稱由 codocData 識別並使用,前提是文檔對象用於單個數據幀(即隻有一個別名)。 codocClasses 類似地處理通過編輯 promptClass 創建的 shell 獲得的文檔對象中的類的槽名稱。

幫助文件名為“軟件包名稱-已失效.Rd’對於適當的軟件包名稱檢查更寬鬆,因為它們可能有未記錄的參數。

codoc 返回類 "codoc" 的對象。目前,這是一個列表,對於包中發現不一致的每個 Rd 對象,包含一個帶有不匹配列表的元素(這些元素又是帶有元素 codedocs 的列表,給出相應的參數從函數的代碼和記錄的用法中獲得)。

codocClassescodocData 分別返回類 "codocClasses""codocData" 的對象,其結構類似於類 "codoc"

print 方法可以很好地顯示此類對象中包含的信息。

注意

默認為use.values已更改為FALSENULL, 為了R1.9.0 及更高版本。

也可以看看

undoc , QC

相關用法


注:本文由純淨天空篩選整理自R-devel大神的英文原創作品 Check Code/Documentation Consistency。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。