CODERU enforces structural software quality
DescriptionCODERU is a java code quality tool to enforce design quality in respect to packages and therefore modules dependencies. Java language is lacking a module concept. CODERU is an approach to close the gap. CODERU is an achronym and stands for Common Dependency Rules. The CODERU-rules rely on reserved package names and the allowed dependency rules between them expressed in a general way. Unlike other tools forcing you to define allowed or disallowed individual package dependencies CODERU is based on a fixed set of general rules. The dependencies between packages need not be defined explicitly. As an integral part of CODERU there is a tool checking your code for rules conformance. MotivationCODERU was invented to ensure structural code quality in a complex and rapidly growing project. Project size: >2K classes. There was no time for expensive up front desing. The code was so good as the experience of the developer that has written it. Of course there were Findbugs and other "code-metric" tools in place, but they mostly force quality on algorithm and class methods level. In order to improve structural quality on classes and packages level the component oriented design approach was introduced. The components should interact with each anothers only over they API and hide own implementation. The component bordes were defined over package naming convention ("api","impl"). So far so good. That was the step in the right direction. But because of the complexity it was not possible for the developers to grasp all dependencies in the given piece of code and follow the rules. The motivation to folow the rules suffered under schedule pressure too :).
According to the motto "You Can't Manage What You Don't Measure" the tool was written to check the code for rules conformance automatically. Better design quality
Better maintainability
|
|