> But that is irrelevant, it is NOT necessary to distinguish 
> from similarly named classes because of the package structure 
> and/or class naming.


6.2.1 Naming Interfaces
The Java convention is to name interfaces using mixed case with the first
letter of each word capitalized. The
preferred Java convention for the name of an interface is to use a
descriptive adjective, such as Runnable or
Cloneable, although descriptive nouns, such as Singleton or DataInput, are
also common (Gosling, Joy,
Steele, 1996).
Alternatives:
1. Prefix the letter 'I' to the interface name. Coad and Mayfield (1997)
suggest appending the letter 'I' to
the front of an interface names, resulting in names like ISingleton or
IRunnable. This approach helps to
distinguish interface names from class and package names. I like this
potential naming convention for
the simple fact that it makes your class diagrams, sometimes referred to as
object models, easier to read.
The main disadvantage is that the existing interfaces, such as Runnable,
aren't named using this
approach, and I do not see them ever changing. Therefore I chose the defacto
standard described
above. This interface naming convention is also popular for Microsoft's
COM/DCOM architecture.
2. Postfix 'Ifc' onto the interface name. Lea (1996) suggests appending
'Ifc' to the end of an interface
name, resulting in names like SingletonIfc or RunnableIfc, whenever the name
of an interface is similar
to that of a class (Lea, 1996). I like the general idea, although I would be
tempted to prefix the name with
the full word 'Interface.' This suggestion suffers from the same problem as
the one above.

http://www.ambysoft.com/javaCodingStandards.pdf, P.46

Now, I remember, it was from "Building Object Applications That Work" by
Scott W. Ambler.


> 
> At any rate, it boils down to personal preference. 

True :-) And much better then: "Couldn't disagree more. ;-)" and "Nonsense.
Leave that for C coders. :-D" :-)


> As the tech lead where I work, I would publicly flog anyone who 
> committed a ICustomerDao class to my CVS repository. ;-)

It's your right and duty to decide on conventions :-)

Regards
Leon





---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to