Java – Tools for managing a complicated project setup with many frameworks and no documentation

javaspring

We have to extend a huge java project that makes use of frameworks like maven, spring, struts, freemarker and closure templates.

We do have access to source code but barely any documentation, and we have to extend this system. Our only solution is to find the place in the existing code, where something similar is already done. To find this place, we try to start from the action that is called and then with the help of the debugger try to find out which classes and Spring beans are involved.

The stack traces from the debugger are quite hard to understand, since a lot of reflection is being used.

Does anybody had a similiar setup and could provide a few tipps how to manage such a complicated setup?

Best Answer

You need to try to understand the software from an architectural perspective. That's going to be hard to do studying stack traces.

I would start by laying out the classes in a UML diagram. Struts is an MVC framework, so the project is probably an MVC one. Find out what all of the frameworks are, and analyze your class layout to determine the role each piece fulfills.

Once you do that for awhile, you'll be in a much better position to extend the project skillfully and sensibly.

Related Topic