It is 4 months since I have started new work, new job, new environment and what is most important, new EXPERIENCE. I havent come across this sort of methodology and programming technique before. What is this that Im talking about. Some of them are: Test Driven Development, usage of Dependency Injection Framework (Spring) and tools like Maven, Cruise Control and now Continuum.
I will spend 5 minutes and try to explain what is this all about.
Majority of my work are Java Enterprise Applications, most of them are Web Services. As IDE we decided to use Eclipse with Web Tools Project (WTP), Spring IDE and Subeclipse plugin. It melts really well and works great without any problems.
We are keeping source in Subversion and Continuum is running continuous build loop. It means that whenever any changes are made to source, code is compiled and tests are fire up. Most of it is Unit test but we also have more sophisticated automated integration test.
This comes to the point where I need to mention that we are developing using one of Extreme Programming Technique that is Test First Development. It means that test defines what code should do and tests are leaders in code developing. I will spent another day to discuss it more detailed.
As build tool we are using Maven 2 that is just a big huge helper. It keeps track of all dependencies, checks for an updates and downloads it for you. Id builds jar, runs test and creates reports. This is just a little part of what it can do. Whats important, it creates Eclipse projects. Maven is great substitution for ANT and is much easier and enjoyable.
At the end Id like to mention Spring framework that is doing a lot of dependency tracking (Dependency Injection, Inversion of Control) for us. Simple xml file defines dependencies between different beans (objects) and Spring creates them (lazy creation) and provides references in each other. Thanks to that it is loosely coupled and more flexible.
To access database we are using Hibernate but, this is completely different story and not for tonight : )
I wonted to share, how many new, cool and exciting things I have learned in such a short period of time. More exciting is that I had to use it providing commercial solutions for my boss and that works well : )
Keep your heads up.
Greg-or Da Gigon