On 05/12/2017 07:11 AM, Martin Morgan wrote:
On 05/12/2017 02:05 AM, Garth Ilsley wrote:
Hello,

I am thinking of creating package for Bioconductor, and I am wondering
about the use of R6 classes (from the R6 package). I do indeed intend
to use existing Bioconductor classes such as SummarizedExperiment and
interact and make use of other Bioconductor packages, such as scater
and DESeq2. This appears to be in accordance with the guidelines
(https://www.bioconductor.org/developers/package-guidelines/#classes),
but does the use of R6 classes disqualify the package from being in
Bioconductor? Do I need to write my classes as S4 in order to qualify?


I think there's little value in exposing R6 classes to Bioconductor
users, introducing yet another syntax and semantics, and would strongly
discourage their use outside the package name space.

Inside the package name space the maintainer has more liberty to adopt
programming practices that are geared toward correct and efficient
implementations; if R6 fills this role (I'm not an expert, but I don't
think R6 enforces strong type checking and is not particularly
efficient) then it would be appropriate to use them.

Maybe one additional point is that perhaps 'write my classes' implies that you'll be creating new classes; it might often be better to re-use existing classes, or worst-case write simple extensions (e.g., an additional slot to SummarizedExperiment) to existing classes. In this way you re-use existing robust software and don't further overwhelm the cognitive burden placed on the user struggling to navigate yet more functionality.

Martni


Martin

Thank you for your help.

Best regards,
Garth


    [[alternative HTML version deleted]]

_______________________________________________
Bioc-devel@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/bioc-devel



This email message may contain legally privileged and/or...{{dropped:2}}

_______________________________________________
Bioc-devel@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/bioc-devel


This email message may contain legally privileged and/or...{{dropped:2}}

_______________________________________________
Bioc-devel@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/bioc-devel

Reply via email to