Enforcing coding guidelines and multi project build management (+Checkclipse)
Enforcing coding guidelines and multi project build management (+Checkclipse)
Tue, 2003-08-26 10:43
[updated 26.8.]
Some essential tools for enhancing your multi project development environment:
- Maven
- Checkstyle
Jalopy and Jalopy plugin for Maven (thx to Marcus)
Maven has the goals of:
- Making the build process easy
- Providing a uniform build system
- Providing quality project information
- Providing clear development process guidelines
- Providing guidelines for thorough testing practices
- Providing coherent visualization of project information
- Allowing transparent migration to new features
while Checkstyle and its Eclipse plugins:
enable you to automatically enforce coding guidelines like
- Javadoc Comments
- Naming Conventions
- Headers
- Imports
- Size Violations
- Whitespace
- Modifiers
- Blocks
- Coding Problems
Although tools like Checkstyle can be misused to produce massive reports they can help very well when introduced in the beginning of a project... I doubt that one ever will adopt a full guideline-sets inbetween a project... In contrary it will probably be more effective to reduce the rule-set to a small set of rules. The eclipse plugin will sure help to distribute these clients into your project.
Maven has the good feature to be able to configure dependencies between multiple projects and thereby ensuring a proper product-version-line through multiple components or sub-projects. Although this can be done with one monstrous ANT file aswell I suppose the Maven-approach is a bit more deeper and flexible while setting standards for "how to" integrate multiple projects together - a very essential step in the work of multiproject development that an organization otherwise would have to do all alone.
Don't believe there's nothing left to do, but at least it's a start...
An integration with ASQ tools like Hyades will enhance the testing-environment a lot - especially because of the platform-dependant profiling data-collectors (not all J2EE-applications run on simple Win2k-servers, do they?)
Jalopy's functionality covers:
- Brace style transformation
- Fine-grained whitespace settings
- Indentation
- Intelligent line wrapping
- Code separation
- Javadoc auto-generation
- Header/Footer templates
- Powerful command-line interface
- Client API
- Several Plug-ins
Make sure you check out the feature-documentation... just the indentation feature are amazing rich - I didn't check the others yet, but looks very fancy - check out the FAQ later...
Thanks for this hint Marcus!
[26.8.] added Checkclipse info

