[RsR] covrob --- some OOP-comments
----- Original Message ----- From: "Martin Maechler" <maechler at stat.math.ethz.ch> ...
I assume that at least the base class(es) ('Cov', 'CovR' in
Valentin's naming scheme) should be put into 'robustbase' ASAP,
so other packages can import them from the robustbase namespace
and extend (aka "inherit from") them.
I have uploaded a new version of rrcov with constrained M-estimates of location and scatter covMest(), for test purposes, which still returns an S3 class. Now I am implementing Cov, CovR and the derived from them Mest which I want to upload in the next days. As soon as this construction is stable, I'll move all three of them to robustbase (Martin, I rely on your support). After that I'll port covMcd to return an S4 class derived from CovR. Two questions arise: - is there some "standard" for naming classes. I assume the usual starting with a capital letter? In some cases one can go further and select a particular capital letter. For example in Visual C++/MFC every class started with a capital C (in our case we would have Ccov, CcovR, Cmcd, Cogk, Cmest). - What happens with the user of, for example covMcd() when it begins to return an S4 class "Mcd" instead of the current S3 "mcd". Of course these that just use print/plot/summary will not notice the change, but what about these that use the returned object within their programs? This is actually a general question on compatibility. best regards, Valentin