commons-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Thomas Neidhart <thomas.neidh...@gmail.com>
Subject Re: [math] Suggestion to refactor BinomialConfidenceInterval
Date Sat, 18 Jan 2014 10:45:24 GMT
On 01/14/2014 09:16 PM, Phil Steitz wrote:
> On 1/13/14, 1:20 PM, Thomas Neidhart wrote:
>> On 01/12/2014 06:46 PM, Phil Steitz wrote:
>>> On 1/12/14, 6:03 AM, Thomas Neidhart wrote:
>>>> Hi,
>>>>
>>>> we had some preliminary discussion about changing the
>>>> BinominalConfidenceInterval class in MATH-1086.
>>>>
>>>> Right now the class provides some non-static methods to create various
>>>> ConfidenceIntervals, and I was proposing to change them to be static.
>>>>
>>>> Another option would be to allow sub-classing by defining an interface
>>>> (or abstract base class) to create such an interval:
>>>>
>>>> public interface BinomialConfidenceInterval {
>>>>    ConfidenceInterval createInterval(int numberOfTrials,
>>>>                                      int numberOfSuccesses,
>>>>                                      double confidenceLevel);
>>>> }
>>>>
>>>> With subclasses for the individual methods, e.g. Wilson or
>>>> NormalApproximation.
>>> I am +1 for this.  Calling conversion of current methods to static
>>> 0) and above 1), seems to me there are two other reasonable options:
>>> 2) do nothing - leaving the methods non-static preserves extensibility
>>> 3) use an abstract class instead of interface - I think we may be
>>> getting carried away with preference for this approach and I think
>>> it would be silly in this case
>>>
>>> So my preference order is 1), 0), 2), 3).  I guess TestUtils is OK
>>> as the home for the static convenience methods in cases 1), 2), 3).
>> Option 3 would make sense to avoid duplicating the checkParameters
>> method which is currently used by all the different getXXXInterval methods.
> 
> Good point.  Maybe best to just do go the abstract class route then.
>>
>> But we can also make it package private and static in TestUtils.
> 
> Seem unnatural placement, so I guess I am +1 for 3)

ok good, I will then make the change.

Thomas

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@commons.apache.org
For additional commands, e-mail: dev-help@commons.apache.org


Mime
View raw message