Oksijenli sınıfları belgelemek için (2), bir başlık ve açıklama / ayrıntı belirtmek işlevler, yöntemler, veriler vb. İle aynı görünmektedir. Ancak, yuvalar ve kalıtım kendi hayvan türleridir. Oksijen2'deki S4 sınıflarını belgelemek için mevcut veya planlanmış en iyi uygulama nedir?
Durum tespit süreci:
@slotOksijenin erken tanımlarında bir etiketten bahsetmiştim .
2008 R-forge posta listesi gönderisi
bunun öldüğünü gösteriyor ve @slotoksijeni desteklemiyor :
Bu roxygen2 için doğru mu? Daha önce bahsedilen gönderi, kullanıcının bunun yerine LaTeX işaretlemesiyle kendi ayrıntılı listesini yapması gerektiğini önermektedir. Örneğin, "character"sınıfı genişleten yeni bir S4 sınıfı şu şekilde kodlanır ve belgelenir:
#' The title for my S4 class that extends \code{"character"} class.
#'
#' Some details about this class and my plans for it in the body.
#'
#' \describe{
#' \item{myslot1}{A logical keeping track of something.}
#'
#' \item{myslot2}{An integer specifying something else.}
#'
#' \item{myslot3}{A data.frame holding some data.}
#' }
#' @name mynewclass-class
#' @rdname mynewclass-class
#' @exportClass mynewclass
setClass("mynewclass",
representation(myslot1="logical",
myslot2="integer",
myslot3="data.frame"),
contains = "character"
)
Bununla birlikte, bu işe yarıyor olsa da, bu \describe, \itemyuvaları belgeleme yaklaşımı, geri kalan hiç bir @etiket bulunmaması ve yuvaların itiraz olmadan belgelenemeyeceği için , geri kalan oksijen ile (2) tutarsız görünmektedir roxygenize(). Ayrıca, tanımlanan sınıfın mirasını belgelemenin tutarlı bir yolu hakkında hiçbir şey söylemez. Bağımlılığı hala (belirli bir yuva başka bir paketten temel olmayan bir sınıf gerektiriyorsa) genellikle iyi çalışıyor hayal ediyorum @import.
Özetlemek gerekirse, oksijen (2) yuvaları için en iyi uygulama hangisidir?
Şu anda dikkate alınması gereken üç seçenek var:
- A - Ayrıntılı liste (yukarıdaki örnekte olduğu gibi).
- B -
@slot... ama ekstra etiketler / uygulama ile kaçırdım. Yukarıdaki örnekte listelenen listenin yerini alan sürümlerde roxygen / roxygen2 ile çalışmak için @slot alamadım. Yine, yukarıdaki örnek, oksijen ile çalışmaktadır (2).- C - Yuvaları belirtmek
@paramiçin aynı şeyi başaracak alternatif bir etiket .
Bu soruyu github'dakiroxygen2 geliştirme sayfasına yaptığım bir yazıdan ödünç alıyorum / genişletiyorum .
setClassifade var sevindim setMethod. Değişikliği @slotuygulandıktan sonra yapmak çok acı verici olmaz.
@slotmuhtemelen uzun vadede istediğiniz şeydir, ancak önce uygulanması gerekir ...