Based on the feedback raised in on the mailing list discussion. http://ofbiz.135035.n4.nabble.com/Framework-Cleanup-Options-Tidy-Up-amp-Refactor-tt4676797.html#none . We would like to start some refactoring work to tidy and clean up areas of the framework.
What is the overall goal and what do we want to achieve?
Our overall goal is to tidy up the existing code to make it easier for us to maintain and improve.
What is re-factoring?
Refactoring is the cleaning, tidying or improving the existing code yet keeping the same functionality.
...
Refactoring is something that tends to happen naturally over time as code evolves. We have identified some key areas that could really benefit from an refactoring effort so would like to promote these areas for active clean up and refactor.
The key benefits of any refactor is cleaner, neater and simpler code.
What sort of issues have been identified that the re-factoring could help with?
...
- A short list of 5 is good number to highlight the key areas
- A list will help focus the community
People Available to Help
If you are interested in being part of the working group on this please add your details to the table below.
Name | Contact Details | Location |
---|---|---|
Taher Alkhateeb | taher at apache dot org | Kuwiait |
Jacques Le Roux | jleroux at apache dot org | France |
Nicolas Malin | nmalin at apache dot org | France |
Julien Nicolas | jnicolas at apache dot org | France |
Gil Portenseigne | pgil at apache dot org | France |
Sharan Foga | sharan at apache dot org | Czech Republic |
Hotwax Team ?? | ||
Current Top 5 Re-factoring Focus Areas
AREA | REASON FOR RE-FACTOR | STATUS | WHO IS WORKING ON IT? | JIRA MASTER ISSUE LINK | COMMENTS | ||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
1 | EntitySaxReader | EntitySaxReader implements javolution interfaces and looks hideous | |||||||||||
2 | HtmlFormRenderer | HtmlFormRenderer is 3000 lines of code and the interfaces it implements are also huge | |||||||||||
3 | XmlFormRenderer | XmlFormRenderer does not implement more than half of the methods | |||||||||||
4 | Dependencies on Deprecated Classes / Constructors | Lots of dependencies on deprecated classes / constructors (e.g. HtmlScreenRenderer, FoScreenRenderer) | |||||||||||
5 | Start.java | Lots of dependencies on deprecated classes / constructors (e.g. HtmlScreenRenderer, FoScreenRenderer) | In Progress | Taher Alkhateeb | 6 | Implementations with no interfaces | Implementations with no interfaces (e.g. TemporalExpression, GroupModel, Cache, etc ...) |
...