2012/3/18 Sébastien Brisard <sebastien.bris...@m4x.org>:
> Hi,
> I'm trying to clean up the SymmLQ class (see MATH-761 [1]).
> The problem is the heart of the algorithm is very long (it would
> probably amount to more thatn 600 lines). When I first implemented it,
> I figured that I could split this algorithm in several methods:
> init(), update(), updateNorms(), refine(), etc... This makes the code
> somewhat more legible [2], with the difficulty that there is a lot of
> data to be shared between these methods. That's the reason why I
> created a simple nested, container class (namely, State) which holds
> all the variables which are updated at each iteration. In order to
> make checkstyle happy, all the fields of this nested class are
> private, which means that a lot of accessors should be created with a
> null benefit, since this class is nested anyway. I have to admit I
> forgot to create these accessors, so synthetic accessors are
> automatically generated at the present time. I'm not sure this is good
> practice, but I'm also reluctant to implement all those (useless in my
> view) accessors. So my question is two fold
>
> 1. Would it be acceptable to have public fields in a nested class?  If
> yes, the checkstyle rules should be modified.
> 2. Is it good practice otherwise to let the JVM generate synthetic
> accessors (which would probably get inlined anyway by modern JVMs?).

Why not put the methods and the data in the same class?

That would eliminate the need for accessors.

> I'm currently puzzled by the SymmLQ class. I feel the need for some
> cleaning up, but I do not really know where to start. So if anyone
> feels like reviewing the code, I would be grateful for some help. The
> good news is that unit tests are very extensive, so we can try drastic
> refactoring.
>
> Thanks for your help!
> Sébastien
>
> [1] Which is probably ill-named. Should be named "cleaning-up SymmLQ"
> [2] I have to say I have mixed feelings now: I'm wondering whether a
> 600-hundred lines method would not be better in that case, but I would
> probably not get a wide support...
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: dev-unsubscr...@commons.apache.org
> For additional commands, e-mail: dev-h...@commons.apache.org
>

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

Reply via email to