Hi Carlos,

Deprecating the constructors should be enough if you don't expect that
your users have serialized instances of the class around (i.e. objects
that they saved to disk with save() or saveRDS()).

It's actually impossible to know whether your users have done this or
not but they would typically do this only if these objects take a long
time to compute or if the typical workflow that you present in your
vignette encourages this. If it's the case then the situation is a
little bit more complicated:

  - You would need to provide a coercion method from this class to the
    replacement class.

  - You would also need to put a deprecation warning in all the methods
    defined on this class (this includes validity and show methods if
    you've defined them, and also coercion methods *to* this class. The
    deprecation warning would typically explain how to coerce the
    deprecated object to the new replacement class.

Hope this helps,
H.

On 06/27/2017 01:50 AM, Carlos Ruiz wrote:
Hi Bioc developers,

A year ago, we introduced a class in my package MEAL to manage
methylation data. After some Bioc releases, we realised that we don't
really need this class and that it is better to reuse other Bioc classes
to facilitate package usability. Is there any protocol to deprecate a
class? There is only a guide to deprecate functions and methods.

For the new release, I was thinking on deprecating the constructors of
my class, while keeping the methods. Is that OK?

Bests,


--
Hervé Pagès

Program in Computational Biology
Division of Public Health Sciences
Fred Hutchinson Cancer Research Center
1100 Fairview Ave. N, M1-B514
P.O. Box 19024
Seattle, WA 98109-1024

E-mail: hpa...@fredhutch.org
Phone:  (206) 667-5791
Fax:    (206) 667-1319

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

Reply via email to