Thanks Taher for sharing your experience and thoughts. I am up for the help
where ever possible.

Regards
--
Divesh Dutta.

On Sun, Jun 5, 2016 at 8:06 PM, Taher Alkhateeb <slidingfilame...@gmail.com>
wrote:

> Hello Folks,
>
> Over the past couple of months I was working heavily on refactoring the
> start component of the framework and we changed almost every single line of
> code in it.
>
> I learned a lot and I would like to share some of the experiences and
> findings:
>
> The good
> --------------
> - OFBiz works, the code executes and runs.
> - There is an insane amount of functionality.
> - Lots of great ideas and initiatives.
> - People love and care for OFBiz.
>
> The Bad
> ------------
> - The code _barely_ works (very brittle), break one thing and the whole
> thing goes down.
> - Dependency nightmares and spaghetti code.
> - Remember that spaghetti code? They poured cement on it and built even
> more spaghetti code!
> - Many abandoned and half-cooked ideas in the code base.
>
> Some conclusions
> ---------------------------
> - Without a shred of doubt, I believe OFBiz needs code cleaning more than
> anything else.
> - We should probably not add more features or functionality. For at least a
> year we should just clean and clean and clean and clean and clean and clean
> and clean.
> - If refactoring is done right, OFBiz can be much faster, much smaller, and
> much much more robust.
> - We need help from people; we can within a year's time create something
> amazing if people pitch in.
>
> ideas for refactoring
> ----------------------------
> - The base component needs to be completely refactored with fundamental
> design changes.
> - The system containers require heavy, heavy refactoring.
> - Replace manual multi-threading with the executors framework from
> java.util.concurrent
> - Many libraries are sitting there and unused. We need to delete those.
> - OSGi can transform OFBiz into a different beast, with many of the
> "component" problems resolved
> - Many functionalities are much better implemented with 3rd party libraries
> that did not exist back in 2001
> - libraries should not ship with OFBiz, but downloaded through the build
> script (which only declares dependencies). This would make the size of
> OFBiz MUCH smaller
> - ANT, Maven and Ivy need to go away, and replaced with Gradle and the
> plethora of build scripts all replaced with just one.
> - if we implement gradle, probably the /tools folder would go away as well.
> - SVN should probably be replaced with Git. Git was the tool that I used to
> do the refactoring and I cannot imagine doing the refactoring exercise
> without it.
>
> Sorry for the long post, but I needed to get this out of my head, and maybe
> help trigger thoughts for other people.
>
> Cheers!
>
> Taher Alkhateeb
>

Reply via email to