Initially its to make KahaDB classes easier to read & maintain. Eventually it will help in features/performance; smaller classes are easier to grok, easier to see improvements.
Instead of trying to refactor all of it in one go, I'm taking the approach of one area at a time. One pass for breaking out objects. Another pass for small functional improvements. Perhaps future passes for new Java features (bring all code up to Java 8 perhaps?). On Sun, Nov 25, 2018 at 4:32 PM Jean-Baptiste Onofré <j...@nanthrax.net> wrote: > > Hi Jamie, > > That's interesting. > > What's the rationale behind the refactoring ? New features or perf > improvements ? > > Regards > JB > > On 25/11/2018 20:16, Jamie G. wrote: > > Hi All, > > > > I've taken some time to prototype a refactored KahaDBStore class: > > https://github.com/jgoodyear/activemq/tree/KahaDBRefactor > > > > As KahaDBStore exists in Master, it contains 7 internal classes, over > > some 1677 lines of code. > > > > In my refactor branch I've separated out those classes into their own > > files, and applied some gentle clean code practices to help make these > > files easier to read and maintain. > > > > I'd like to gather feed back from the community; I've taken care to > > change functionality as little as possible - the aim here is to reduce > > complexity and improve maintainability. If the community feels this is > > a worth while goal than I'll open a card on Jira & prepare a PR. > > > > Notes: > > ActiveMQ KahaDB Store and ActiveMQ-Unit-Tests suites remain passing > > after refactor. > > > > Cheers, > > Jamie > > > > -- > Jean-Baptiste Onofré > jbono...@apache.org > http://blog.nanthrax.net > Talend - http://www.talend.com