Rated 4 Stars (out of 5) - Good library but has a bug of interfacing with it...
For example: if a user want to modify a ContinousUniform, he will have to create a new instance setting both parameters at the same time. Otherwise, he can't be sure what will be the result if he does not know the code (the bad behavior of rejecting values if they don't fit with previous one). For a ContinuousUniform there is 2 interdependent input but they can't be entered at the same time. That is very very bad. But although it would have been possible, to set both values at the same time, I personally thing that it would have been a mistake too, to not just let the user enter whatever value he want, in any order, and verify only on calculation. On bad validation, then it could either throw an error, but only at this time. That would force a major changes in code. It would also require, an IsValid() function or property, to be able to know if the provided values are fine. The "IsValid()" could also be used by the "Calc" function. Actually, we are forced to create a new instance each time the user make any changes which sounds to me a bad design. It required very twisted code!!!
↧