Java Interface, AbstractClass and Enum naming convention
java, naming-conventions
Solution
In Java: `Foo`, `AbstractFoo` and `Foo` - although `AbstractFoo` could just be `Foo`.
Evidence:
- `java.util.List` (interface)
- `java.util.AbstractList` (abstract class)
- `java.util.Formatter.BigDecimalLayoutForm` (enum)
For the interface part, see the Naming Conventions section of the Java Coding Conventions document. It doesn't talk about enums and abstract classes though.
Problem
We are having this discussion in our team about code conventions for Java for: `interface`: `Foo` or `IFoo` or `FooInterface`? `abstract`: `Foo` or `AbstractFoo`? `Enums`: `Foo` or `FooEnum`? I'm basically trying to put my personal preferences aside :) so reasons to back up one or other convention are very welcome.