We have posted a number of answers, clarifications and best practices for the component competition process in various forum threads. The following, along with our updated
Reviewer Guidelines , compiles these updates into one definitive list, and it should be considered required reading for component competitors and reviewers. This document will be updated as needed over time — to discuss the points below or raise more questions, please visit the
Software Forums
.
- Type-Safe Arguments and Return Values
For Java versions prior to 1.5, accepting collections as method parameters and using them as return types makes those methods difficult to understand. For Java 1.5, generics should be used to identify the type of the collection contents. Type information should not be hidden by a Collection.
- The Singleton Pattern
This design pattern is almost always a bad idea in a component design. At the component level, you simply don't know what kind of application will need to use your component.
- Sub-Components
Sometimes a design includes a request for one or more new components. You do not need to provide designs for the sub-components, but you do need to explain what the current project will need from the sub-component, and why the sub-component is useful and generic enough to merit a separate project.